Stream
IntStream.of(1,2,3,4); LongStream.of(1,2,3,4,5L); DoubleStream.of(1.2,3.4,5,6.4);;
Range içerisinde belirtilen sayıdan artan şekilde son sayıya kadar oluşan artimatik dizinin Stream’i yaratılmaktadır.
RangeClosed kullanıldığında son belirtilen sayı’da dahil edilmektedir. Range’de ise son belirtilen sayıya kadar olan sayı aralığı kullanılır.
Range ve RangeClosed Metotu DoubleStram için kullanılamaz.
RangeClosed kullanıldığında son belirtilen sayı’da dahil edilmektedir. Range’de ise son belirtilen sayıya kadar olan sayı aralığı kullanılır.
Range ve RangeClosed Metotu DoubleStram için kullanılamaz.
IntStream.range(1,5); LongStream.range(1,5);
Iterate metotu ilk paremetere olarak başlangıç değeri ve ikinci paremetre olarak bir sonraki değeri üretmek için gerekli işlemi alarak sonsuza giden bir seri üretmektedir. Bu yüzden limit metotu ile bu Stream’i limitlemek gerekebilir.
IntStream.iterate(10,x->x+2).limit(10); LongStream.iterate(1L,x->x+5).limit(100); DoubleStream.iterate(0,x->x+0.1).limit(100);
Generate metotu iterate metotuna benzer fakat yeni değer üretirken bir önceki değeri kullanmaz. Rastgele değer üretimi buna örnek olabilir.
Random rnd = new Random(); IntStream.generate(()->rnd.nextInt()).limit(10); LongStream.generate(()->rnd.nextLong()).limit(100); DoubleStream.generate(()->rnd.nextDouble()).limit(100);
Rastgele sayı içeren bir Stream oluştururken direk Random classı metotları kullanılabilir. IntStream, LongStream ve DoubleStream oluşturabilir.
Random rnd = new Random(); rnd.ints(); // IntStream rnd.longs(); // LongStream rnd.doubles(); // DoubleStream
Kaynak: