HOME > java > collections > arraylist

Java - ArrayList.forEach() 사용 방법 및 예제

JSFollow28 Mar 2019

ArrayList의 forEach()는 리스트를 순회(iterate)하는데 사용되는 메소드입니다.

1. ArrayList.forEach()

forEach(Consumer<? super E> action)는 Consumer 객체를 인자로 받습니다. forEach는 리스트의 모든 아이템에 대해서 Consumer.accept가 수행되도록 합니다. 또한, 인자는 람다로 표현할 수 있어 코드를 더욱 간단하게 만듭니다.

public void forEach(Consumer<? super E> action)
  ....
  for (int i=0; modCount == expectedModCount && i < size; i++) {
    action.accept(elementData[i]);
  }
  ....
}

2. ArrayList.forEach() 예제

아래 코드는 forEach로 ArrayList의 모든 아이템을 출력하는 예제입니다. Consumer 객체를 만든 뒤에 인자로 넘겨줄 수 있고, 그냥 직접 람다 표현식을 인자로 넘겨줄 수도 있습니다. forEach는 리스트의 모든 객체에 대해서 Consumer.accept()를 수행합니다.

String[] fruitsArray = {"apple", "banana", "kiwi", "mango", "blackberry"};
ArrayList<String>  fruits = new ArrayList<>(Arrays.asList(fruitsArray));

Consumer<String> lambda= item -> System.out.println("item : " + item);
fruits.forEach(lambda);

System.out.println("");
fruits.forEach(item -> System.out.println("item : " + item));

결과

item : apple
item : banana
item : kiwi
item : mango
item : blackberry

item : apple
item : banana
item : kiwi
item : mango
item : blackberry

참고