ArrayList<Integer> liste=new ArrayList<>();
for (int i=0;i<1000;i++){
liste.add((int)(Math.random()*100));
}
Seit Java 8 gibt es die Möglichkeit mit Streams zu arbeiten. Der Begriff kommt auch beim "Streamen von Filmen" vor. Das bedeutet einfach, dass ein Datenstrom (stream) schon während des Einlesens bearbeitet werden kann und nicht erst, wenn alles heruntergeladen ist.
Somit kann ein Film relativ schnell nach dem Drücken des -Knopfes betrachtet werden, ohne erst den gesamten Film heruntergeladen zu haben.
Das ist auch mit Hilfe von Streams in Java möglich. Dafür einige hilfreiche Links:
ArrayList<Integer> liste=new ArrayList<>(); for (int i=0;i<1000;i++){ liste.add((int)(Math.random()*100)); }
Java
Gib alle Zahlen aus.
Gib alle Zahlen aus, die größer als 80 sind.
Gib für jede Zahl die negative Hälfte aus, wenn sie gerade ist, sonst die Zahl selbst.
Addiere alle Zahlen.
Gib von allen Zahlen, die größer als 80 sind, die Summe aus, wobei gerade Zahlen vor dem Addieren halbiert und negiert werden.
for (int i=0;i<liste.size();i++){ System.out.println(liste.get(i)); }
Java
for (Integer wert:liste){ System.out.println(wert); }
Java
liste.stream().forEach(z->System.out.println(z));
Java
liste.stream().forEach(System.out::println);
Java
for (int i=0;i<liste.size();i++){ if (liste.get(i)>8000){ System.out.println(liste.get(i)); } }
Java
liste.stream().filter(z->z>80).forEach(System.out::println);
Java
for (int i=0;i<liste.size();i++){ Integer ausgabe=liste.get(i); if (ausgabe%2==0){ ausgabe=-ausgabe/2; } System.out.println(ausgabe); }
Java
liste.stream().map(z->z%2==0?-z/2:z).forEach(System.out::println);
Java
Integer summe=0; for (int i=0;i<liste.size();i++){ summe+=liste.get(i); } System.out.println("Summe: "+summe);
Java
System.out.println("Summe: "+liste.stream().reduce(0,(x,y)->x+y));
Java
Integer summe=0; for (int i=0;i<liste.size();i++){ Integer wert=liste.get(i); if (wert<=80){ wert=0; } if (wert%2==0){ wert=-wert/2; } summe+=wert; } System.out.println(summe);
Java
System.out.println("Summe: "+liste .stream() .filter(z->z>80) .map(z->z%2==0?-z/2:z) .reduce(0,(x,y)->x+y) );
Java