Sie ein Array in einen Strom verwandeln kann Arrays.stream()
unter Verwendung:
int[] ns = new int[] {1,2,3,4,5};
Arrays.stream(ns);
Sobald Sie Ihren Stream haben, können Sie eine der in the documentation beschriebenen Methoden verwenden, wie sum()
oder was auch immer. Sie können map
oder filter
wie in Python durch den jeweiligen Stream-Methoden mit einer Lambda-Funktion aufrufen:
Arrays.stream(ns).map(n -> n * 2);
Arrays.stream(ns).filter(n -> n % 4 == 0);
Sobald Sie Ihren Stream fertig sind Ändern Sie dann toArray()
nennen es in ein Array zurück zu konvertieren an anderer Stelle zu verwenden:
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 [] result = IntStream.range (0, a.length) .map (i-> a [i] * b [i]) toArray();.' – Holger
@Holger ja das würde auch funktionieren. Obwohl Sie wahrscheinlich "mapToInt" verwenden möchten, um Boxen zu vermeiden. – dkatzel
Letzteres entspricht einer Simulation von zip, bei der Sie den Speicher für das Ergebnis vorab reservieren müssen. Ich frage mich, warum es keine Zip in der Streams-Bibliothek gibt? –