Konwersja Stream<int[]> do int[]

Konwersja Stream<int[]> do int[]
M2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 3 lata
0

Witam,
W jaki sposób mogę konwertować Stream<int[] do tablicy int[] ?

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:38 minut
  • Postów:4935
0

JA
Nie tędy droga, bo zamieniając strumień tablic intów na tablicę, otrzymujemy tablicę tablic.
lion137
A potem ją spłaszczyć do jednej.
JA
Tak, wtedy się zgodzę. :-)
M2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 3 lata
0

Że jest to ja wiem ale jak to zamienić.

JA
  • Rejestracja:prawie 15 lat
  • Ostatnio:19 dni
0

Na przykład tak:

Kopiuj
import java.util.Arrays;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<Integer[]> s = Stream.of(new Integer[] { 1, 2, 3 }, new Integer[] { 4, 5 });

        Integer[] array = s.flatMap(Arrays::stream).toArray(Integer[]::new);

        Arrays.stream(array).forEach(System.out::println);
    }
}
edytowany 1x, ostatnio: jackweb
M2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 3 lata
0

Ja mam Stream<int[]> nie Streama<Integer[]>

edytowany 1x, ostatnio: maf2
damianem
  • Rejestracja:prawie 8 lat
  • Ostatnio:4 miesiące
  • Postów:205
2

Możesz stream tablic zamienić w jedną tablicę tak:

Kopiuj
               Stream.of(new int[]{1,2,3}, new int[]{4,5,6})
                   .flatMapToInt(Arrays::stream)
                   .toArray()
edytowany 1x, ostatnio: damianem

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.