Java, elemanları yinelemek için forEach() için yeni bir yöntem sağlar. Yinelenebilir ve Akış arayüzünde tanımlanır. Yinelenebilir arayüzde tanımlanan varsayılan bir yöntemdir. Yinelenebilir arayüzü genişleten koleksiyon sınıfları, öğeleri yinelemek için forEach döngüsünü kullanabilir.
Bu yöntem, işlevsel bir arayüz olan tek bir parametre alır. Yani lambda ifadesini argüman olarak iletebilirsiniz.
Yinelenebilir Arayüzde forEach() İmzası
default void forEach(Consumeraction)
Java 8 forEach() örneği 1
import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression--------------'); gamesList.forEach(games -> System.out.println(games)); } }
Çıktı:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() örnek 2
import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing method reference---------------'); gamesList.forEach(System.out::println); } }
Çıktı:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Java Stream forEachOrdered() Yöntemi
ForEach() yönteminin yanı sıra Java, forEachOrdered() için bir yöntem daha sağlar. Öğeleri akışın belirttiği sıraya göre yinelemek için kullanılır.
İmza:
void forEachOrdered(Consumer action)
Java Stream forEachOrdered() Yöntem Örneği
import java.util.ArrayList; import java.util.List; public class ForEachOrderedExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression---------------'); gamesList.stream().forEachOrdered(games -> System.out.println(games)); System.out.println('------------Iterating by passing method reference---------------'); gamesList.stream().forEachOrdered(System.out::println); } }
Çıktı:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky