Nasıl bir dizi akışı oluşturabilir miyim?
Bir dizi akışı oluşturmak için ihtiyacım var şu anda
String[] array = {"x1", "x2"};
Arrays.asList(array).stream();
Bazı doğrudan bir yol bir dizi akışı oluşturmak için var mı?
CEVAP
Diziler kullanabilirsiniz.stream E. g.
Arrays.stream(array);
Ayrıca gibi görünüyor @Sound Forge , tarafından belirtildiği gibi Stream.of
kullanabilirsiniz
public static<T> Stream<T> of(T... values) {
return Arrays.stream(values);
}
Ama not Stream.of(intArray)
Arrays.stream(intArr)
oysa Stream<int[]>
IntStream
döner türü bir dizi int[]
pas veren dönecektir. İlkel türü için özetle 2 arasındaki farkı görebilirsiniz yöntemleri E. g.
int[] arr = {1, 2};
Stream<int[]> arr1 = Stream.of(arr);
IntStream stream2 = Arrays.stream(arr);
Arrays.stream
aşağıdaki kodu için ilkel bir dizi geçirdiğinizde çağrılır
public static IntStream stream(int[] array) {
return stream(array, 0, array.length);
}
Stream.of
ilkel dizi geçirdiğinizde aşağıdaki kodu çağrılır
public static<T> Stream<T> of(T t) {
return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
}
Dolayısıyla farklı sonuçlar alırsın.
GüncellendiStuart Marks yorum tarafından belirtildiği gibi :
Arrays.stream
alt aralığı aşırı bir eski sonuçları ikincisi ise yok stream BOY çünkü Stream.of(array).skip(n).limit(m)
kullanarak tercih edilir. Nedeni limit(m)
Arrays.stream
kontrol aralığı ve akış tam boyutunu biliyor oysa m m veya daha az olup olmadığını bilmiyor.
Kod this method içinde kaynak okuyabilirsiniz.
Nasıl bağımlılıkları Maven kullanarak ...
Nasıl Java iki dizi bir arada olabilir...
Nasıl JavaScript bir dizi başında yeni...
Nasıl bir onaltılık dize gelen bir UİC...
Nasıl "bağımsız" dönüştürme; ...