Można włączyć tablicę do strumienia za pomocą Arrays.stream()
:
int[] ns = new int[] {1,2,3,4,5};
Arrays.stream(ns);
Po utworzeniu strumienia można użyć dowolnej z metod opisanych w artykule the documentation, na przykład sum()
lub cokolwiek innego. Można map
lub filter
jak w Pythonie poprzez wywołanie odpowiednich metod strumieniowych z funkcji lambda:
Arrays.stream(ns).map(n -> n * 2);
Arrays.stream(ns).filter(n -> n % 4 == 0);
Po zakończeniu modyfikowania strumienia, wtedy nazywamy toArray()
przekonwertować go z powrotem do tablicy użyć w innym miejscu:
int[] ns = new int[] {1,2,3,4,5};
int[] ms = Arrays.stream(ns).map(n -> n * 2).filter(n -> n % 4 == 0).toArray();
'Int [], wynik = IntStream.range (0 a.length) .map (i-> a [i] * B [i]) toArray().' – Holger
@ Hger tak, to też by działało. Chociaż prawdopodobnie chcesz użyć 'mapToInt', aby uniknąć boksowania. – dkatzel
To ostatnie oznacza symulację zip, w której należy wstępnie przydzielić miejsce do przechowywania wyników. Zastanawiam się, dlaczego nie ma zip w bibliotece strumieni? –