diff --git a/src/UE14_130225_Streams1/UE14_Streams1.java b/src/UE14_130225_Streams1/UE14_Streams1.java index 4837535..ea82856 100644 --- a/src/UE14_130225_Streams1/UE14_Streams1.java +++ b/src/UE14_130225_Streams1/UE14_Streams1.java @@ -3,6 +3,7 @@ package UE14_130225_Streams1; import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.IntStream; +import java.util.stream.Stream; public class UE14_Streams1 { public static void main(String[] args) { diff --git a/src/UE15_030325_Streams2/UE15_Streams2.java b/src/UE15_030325_Streams2/UE15_Streams2.java index b4773f7..27f62c7 100644 --- a/src/UE15_030325_Streams2/UE15_Streams2.java +++ b/src/UE15_030325_Streams2/UE15_Streams2.java @@ -37,7 +37,9 @@ public class UE15_Streams2 { } public static String createRandoString(String vorrat, int len) { - return IntStream.range(0, len).mapToObj(_ -> String.valueOf(vorrat.charAt(new Random().nextInt(vorrat.length())))).collect(Collectors.joining()); + return IntStream.range(0, len).mapToObj( + + _ -> String.valueOf(vorrat.charAt(new Random().nextInt(vorrat.length())))).collect(Collectors.joining()); } public static int[] deleteEquals(int[] ia) { diff --git a/src/UE16_110325_Streams3/UE16_Streams3.java b/src/UE16_110325_Streams3/UE16_Streams3.java index 582076e..4d11a0a 100644 --- a/src/UE16_110325_Streams3/UE16_Streams3.java +++ b/src/UE16_110325_Streams3/UE16_Streams3.java @@ -155,6 +155,7 @@ public class UE16_Streams3 { return tdfWinners.stream().collect(Collectors.groupingBy(Winner::getNationality, Collectors.toList())); } + public static Map winsByNationalityCounting() { return tdfWinners.stream().collect(Collectors.groupingBy(Winner::getNationality, Collectors.counting())); } diff --git a/src/UE19_220425_Threads/SEW3 UE19 2024 Threads.pdf b/src/UE19_220425_Threads/SEW3 UE19 2024 Threads.pdf new file mode 100644 index 0000000..32dabe0 Binary files /dev/null and b/src/UE19_220425_Threads/SEW3 UE19 2024 Threads.pdf differ diff --git a/src/UE19_220425_Threads/TH_THREADS.pdf b/src/UE19_220425_Threads/TH_THREADS.pdf new file mode 100644 index 0000000..c97b828 Binary files /dev/null and b/src/UE19_220425_Threads/TH_THREADS.pdf differ diff --git a/src/UE19_220425_Threads/nothread/Konto.java b/src/UE19_220425_Threads/nothread/Konto.java new file mode 100644 index 0000000..0d25318 --- /dev/null +++ b/src/UE19_220425_Threads/nothread/Konto.java @@ -0,0 +1,23 @@ +package UE19_220425_Threads.nothread; + +public class Konto { + private int kontostand; + + public Konto() { + this.kontostand = 0; + } + + public int getKontostand() { + return kontostand; + } + + public void setKontostand(int kontostand) { + this.kontostand = kontostand; + } + + public void add(int betrag) { + int wert = getKontostand(); + wert = wert + betrag; + setKontostand(wert); + } +} \ No newline at end of file diff --git a/src/UE19_220425_Threads/nothread/Main.java b/src/UE19_220425_Threads/nothread/Main.java new file mode 100644 index 0000000..3e83cbd --- /dev/null +++ b/src/UE19_220425_Threads/nothread/Main.java @@ -0,0 +1,23 @@ +package UE19_220425_Threads.nothread; + +public class Main { + public static void main(String[] args) { + Konto a = new Konto(); + Konto b = new Konto(); + Konto c = new Konto(); + Ueberweiser ab = new Ueberweiser(a, b); + Ueberweiser bc = new Ueberweiser(b, c); + Ueberweiser ca = new Ueberweiser(c, a); + +// long start = System.currentTimeMillis(); + ab.run(); + bc.run(); + ca.run(); +// System.out.println(System.currentTimeMillis() - start + "ms"); + + System.out.println("A: " + a.getKontostand()); + System.out.println("B: " + b.getKontostand()); + System.out.println("C: " + c.getKontostand()); + } +} +// 81ms \ No newline at end of file diff --git a/src/UE19_220425_Threads/nothread/Ueberweiser.java b/src/UE19_220425_Threads/nothread/Ueberweiser.java new file mode 100644 index 0000000..2a0f2d3 --- /dev/null +++ b/src/UE19_220425_Threads/nothread/Ueberweiser.java @@ -0,0 +1,20 @@ +package UE19_220425_Threads.nothread; + +public class Ueberweiser { + private static final int anzahl = 10_000_000; + private static final int betrag = 10; + private final Konto von; + private final Konto nach; + + public Ueberweiser(Konto von, Konto nach) { + this.von = von; + this.nach = nach; + } + + public void run() { + for (int i = 0; i < anzahl; i++) { + von.add(-betrag); + nach.add(betrag); + } + } +}