Java 8 Stream - Fibonacci Stream Oluşturma

Java Stream API

Iterator, iterable ve Splitator kullanılarak Fibonacci dizisi elemanlarını veren bir Stream oluşturabiliriz. Iterator içerisinde fibonacci algoritmamız yer almaktadır bu sayede bir sonraki elemanın hesaplanması yapılabilir. Iterable ise bir iterator nesnesi döndürmektedir. Splitator ise Stream içerisinde kullanabileceğimiz bir Iterator yapısıdır.

Çok büyük sayılar hesaplanabilmesi için BigInteger kullanılmıştır.

Iterator < BigInteger > fIterator = new Iterator < BigInteger > () {
            BigInteger before1 = BigInteger.ZERO;
            BigInteger before2 = BigInteger.ONE;
            @Override
            public boolean hasNext() {
                return true;
            }

            @Override
            public BigInteger next() {
                BigInteger now = BigInteger.ZERO;
                now = now.add(before1);
                now = now.add(before2);
                before2 = before1;
                before1 = now;
                return now;
            }
        };
        Iterable < BigInteger > iterable = ()-> fIterator;
        Stream < BigInteger > fibonacciStream = StreamSupport.stream(iterable.spliterator(), false);

        fibonacciStream.limit(100).forEach(System.out::println);

Similar Posts:
  1. Java 8 Stream - Fibonacci Stream Oluşturma
  2. Java 8 Stream - Parallel Stream Nedir?
  3. Java 8 Stream – concat Nedir? Nasıl Kullanılır?

Tags: java 8, java 8 Stream API, java fibonacci, java steam fibonacci, java stream api, stream api, stream fibonacci, stream java