diff --git a/.vscode/launch.json b/.vscode/launch.json index 090aadc..6444f54 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,34 @@ // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "type": "java", + "name": "Teilnehmer4", + "request": "launch", + "mainClass": "Teilnehmer4", + "projectName": "PR2-L_ada963eb" + }, + { + "type": "java", + "name": "Teilnehmer3", + "request": "launch", + "mainClass": "Teilnehmer3", + "projectName": "PR2-L_ada963eb" + }, + { + "type": "java", + "name": "Teilnehmer2", + "request": "launch", + "mainClass": "Teilnehmer2", + "projectName": "PR2-L_ada963eb" + }, + { + "type": "java", + "name": "Teilnehmer", + "request": "launch", + "mainClass": "Teilnehmer", + "projectName": "PR2-L_ada963eb" + }, { "type": "java", "name": "Wartezimmer", diff --git a/Teilnehmer/src/Teilnehmer.java b/Teilnehmer/src/Teilnehmer.java index cca82a6..3933d26 100644 --- a/Teilnehmer/src/Teilnehmer.java +++ b/Teilnehmer/src/Teilnehmer.java @@ -3,7 +3,7 @@ import java.util.ArrayList; public class Teilnehmer { public static void teilnehmerListeImperativ(ArrayList teilnehmerliste) { - for(String teilnehmer: teilnehmerliste) { + for(String teilnehmer : teilnehmerliste) { System.out.println("Teilnehmer: " + teilnehmer); } } @@ -29,12 +29,10 @@ public class Teilnehmer { teilnehmerliste.add("Zink"); teilnehmerliste.add("Kupfer"); + System.out.println("*** Imperativ:"); + teilnehmerListeImperativ(teilnehmerliste); + System.out.println("*** Deklarativ:"); teilnehmerListeDeklarativ(teilnehmerliste); - - System.out.println("*** Imperativ:"); - teilnehmerListeImperativ(teilnehmerliste); - - } } diff --git a/Teilnehmer2/src/Teilnehmer2.java b/Teilnehmer2/src/Teilnehmer2.java index 2c85a80..c1d149e 100644 --- a/Teilnehmer2/src/Teilnehmer2.java +++ b/Teilnehmer2/src/Teilnehmer2.java @@ -2,55 +2,50 @@ import java.util.ArrayList; import java.util.function.Consumer; public class Teilnehmer2 { - public static void main(String[] args) { - ArrayList teilnehmerliste = new ArrayList<>(5); - - teilnehmerliste.add("Sommer"); - teilnehmerliste.add("Winter"); - teilnehmerliste.add("Herbst"); - teilnehmerliste.add("Zink"); - teilnehmerliste.add("Kupfer"); - - System.out.println("(1) Teilnehmerliste klassisch"); - for(int i = 0; i < teilnehmerliste.size(); i++) - { - System.out.println(teilnehmerliste.get(i)); - } - - System.out.println("(2) Teilnehmerliste mit erweiterter for-Schleife"); - for(String name : teilnehmerliste) - { - System.out.println(name); - } + public static void main(String[] args) { + ArrayList teilnehmerliste = new ArrayList<>(5); - System.out.println("(3) Teilnehmerliste mit forEach aus Java 8"); - // Anonyme innere Klasse mit internem Iterator - teilnehmerliste.forEach( - new Consumer() - // anonyme Klasse implementiert Schnittstelle Consumer - { - // Methode der anonymen Klasse - public void accept(String name) - { - System.out.println(name); - } - } - ); - - System.out.println("(4) Lambda-Ausdruck ersetzt innere Klasse"); - teilnehmerliste.forEach( - (String name) -> System.out.println(name) ); - - - System.out.println("(5) Lambda-Ausdruck ohne Typangabe"); - teilnehmerliste.forEach( - (name) -> System.out.println(name) ); - - System.out.println("(6) Lambda-Ausdruck mit einem Parameter"); - teilnehmerliste.forEach( - name -> System.out.println(name) ); - - System.out.println("(7) Rumpf ersetzt durch Methodenreferenz"); - teilnehmerliste.forEach(System.out::println ); - } + teilnehmerliste.add("Sommer"); + teilnehmerliste.add("Winter"); + teilnehmerliste.add("Herbst"); + teilnehmerliste.add("Zink"); + teilnehmerliste.add("Kupfer"); + + System.out.println("(1) Teilnehmerliste klassisch"); + for (int i = 0; i < teilnehmerliste.size(); i++) { + System.out.println(teilnehmerliste.get(i)); + } + + System.out.println("(2) Teilnehmerliste mit erweiterter for-Schleife"); + for (String name : teilnehmerliste) { + System.out.println(name); + } + + System.out.println("(3) Teilnehmerliste mit forEach aus Java 8"); + // Anonyme innere Klasse mit internem Iterator + teilnehmerliste.forEach( + new Consumer() + // anonyme Klasse implementiert Schnittstelle Consumer + { + // Methode der anonymen Klasse + public void accept(String name) { + System.out.println(name); + } + }); + + System.out.println("(4) Lambda-Ausdruck ersetzt innere Klasse"); + teilnehmerliste.forEach( + (String name) -> System.out.println(name)); + + System.out.println("(5) Lambda-Ausdruck ohne Typangabe"); + teilnehmerliste.forEach( + (name) -> System.out.println(name)); + + System.out.println("(6) Lambda-Ausdruck mit einem Parameter"); + teilnehmerliste.forEach( + name -> System.out.println(name)); + + System.out.println("(7) Rumpf ersetzt durch Methodenreferenz"); + teilnehmerliste.forEach(System.out::println); + } } diff --git a/Teilnehmer3/src/Teilnehmer3.java b/Teilnehmer3/src/Teilnehmer3.java index 89d609a..10c312c 100644 --- a/Teilnehmer3/src/Teilnehmer3.java +++ b/Teilnehmer3/src/Teilnehmer3.java @@ -2,40 +2,40 @@ import java.util.ArrayList; import java.util.function.Consumer; public class Teilnehmer3 { - public static void main(String[] args) { - ArrayList teilnehmerliste = new ArrayList<>(5); - - teilnehmerliste.add("Sommer"); - teilnehmerliste.add("Winter"); - teilnehmerliste.add("Herbst"); - teilnehmerliste.add("Zink"); - teilnehmerliste.add("Kupfer"); - - System.out.println("(1) ???"); - teilnehmerliste - .stream() - .map(name -> name.toUpperCase()) - .forEach(name -> System.out.print(name + " ")); - - System.out.println(); - System.out.println("(2) ???"); - teilnehmerliste - .stream() - .map(String::toUpperCase) - .forEach(name -> System.out.print(name + " ")); - - System.out.println(); - System.out.println("(3) ???"); - teilnehmerliste - .stream() - .map(name -> name.length()) - .forEach(laenge -> System.out.print(laenge + " ")); - - System.out.println(); - System.out.println("(4) ???"); - teilnehmerliste - .stream() - .filter(name -> name.startsWith("Z")) - .forEach(name -> System.out.print(name + " ")); - } + public static void main(String[] args) { + ArrayList teilnehmerliste = new ArrayList<>(5); + + teilnehmerliste.add("Sommer"); + teilnehmerliste.add("Winter"); + teilnehmerliste.add("Herbst"); + teilnehmerliste.add("Zink"); + teilnehmerliste.add("Kupfer"); + + System.out.println("(1) ???"); + teilnehmerliste + .stream() + .map(name -> name.toUpperCase()) + .forEach(name -> System.out.print(name + " ")); + + System.out.println(); + System.out.println("(2) ???"); + teilnehmerliste + .stream() + .map(String::toUpperCase) + .forEach(name -> System.out.print(name + " ")); + + System.out.println(); + System.out.println("(3) ???"); + teilnehmerliste + .stream() + .map(name -> name.length()) + .forEach(laenge -> System.out.print(laenge + " ")); + + System.out.println(); + System.out.println("(4) ???"); + teilnehmerliste + .stream() + .filter(name -> name.startsWith("Z")) + .forEach(name -> System.out.print(name + " ")); + } } diff --git a/Teilnehmer4/src/Teilnehmer4.java b/Teilnehmer4/src/Teilnehmer4.java index 1cbe07d..e97dfba 100644 --- a/Teilnehmer4/src/Teilnehmer4.java +++ b/Teilnehmer4/src/Teilnehmer4.java @@ -5,46 +5,41 @@ import java.util.OptionalDouble; public class Teilnehmer4 { - public static void main(String[] args) { - ArrayList teilnehmerliste = new ArrayList<>(5); - - teilnehmerliste.add("Sommer"); - teilnehmerliste.add("Winter"); - teilnehmerliste.add("Herbst"); - teilnehmerliste.add("Zink"); - teilnehmerliste.add("Kupfer"); - - System.out.println("(1) Laengster Name?"); - - Optional laengsterName = - teilnehmerliste - .stream() - .reduce((name1, name2) -> - name1.length() >= name2.length() ? name1 : name2); - - laengsterName.ifPresent(name -> - System.out.println("Der laengste Name ist: " + name)); - - System.out.println(); - System.out.println("(2) Summe der Laenge aller Namen: " + - teilnehmerliste - .stream() - .mapToInt(name -> name.length()) - .sum()); - - System.out.println(); - OptionalDouble durchschnittlicheLaenge = - teilnehmerliste - .stream() - .mapToInt(name -> name.length()) - .average(); - - - teilnehmerliste.stream().filter(null); - - durchschnittlicheLaenge.ifPresent(avg -> - System.out.println("(3) Durchschnittliche Laenge aller Namen: " + avg)); - - } + public static void main(String[] args) { + ArrayList teilnehmerliste = new ArrayList<>(5); + + teilnehmerliste.add("Sommer"); + teilnehmerliste.add("Winter"); + teilnehmerliste.add("Herbst"); + teilnehmerliste.add("Zink"); + teilnehmerliste.add("Kupfer"); + + System.out.println("(1) Laengster Name?"); + + Optional laengsterName = teilnehmerliste + .stream() + .reduce((name1, name2) -> name1.length() >= name2.length() ? name1 : name2); + + laengsterName.ifPresent(name -> System.out.println("Der laengste Name ist: " + name)); + + System.out.println(); + System.out.println("(2) Summe der Laenge aller Namen: " + + teilnehmerliste + .stream() + .mapToInt(name -> name.length()) + .sum()); + + System.out.println(); + OptionalDouble durchschnittlicheLaenge = teilnehmerliste + .stream() + .mapToInt(name -> name.length()) + .average(); + + if (durchschnittlicheLaenge.isPresent()) + System.out.println(durchschnittlicheLaenge); + + durchschnittlicheLaenge.ifPresent(avg -> System.out.println("(3) Durchschnittliche Laenge aller Namen: " + avg)); + + } }