logo

Java forEach 루프

Java는 요소를 반복하는 새로운 메소드 forEach()를 제공합니다. Iterable 및 Stream 인터페이스에 정의되어 있습니다. Iterable 인터페이스에 정의된 기본 메서드입니다. Iterable 인터페이스를 확장하는 컬렉션 클래스는 forEach 루프를 사용하여 요소를 반복할 수 있습니다.

이 메소드는 기능적 인터페이스인 단일 매개변수를 사용합니다. 따라서 람다 식을 인수로 전달할 수 있습니다.


반복 가능한 인터페이스의 forEach() 서명

 default void forEach(Consumeraction) 

Java 8 forEach() 예제 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)); } } 

산출:

 ------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky 

Java 8 forEach() 예제 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); } } 

산출:

 ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky 

Java Stream forEachOrdered() 메서드

forEach() 메소드와 함께 Java는 forEachOrdered() 메소드를 하나 더 제공합니다. 스트림에 지정된 순서대로 요소를 반복하는 데 사용됩니다.

시그니처:

 void forEachOrdered(Consumer action) 

Java Stream forEachOrdered() 메서드 예

 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); } } 

산출:

 ------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky