Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)에서 ArrayList를 순회하는 5가지 방법

이 튜토리얼에서는 자바에서 ArrayList를 순회하는 다섯 가지 방법을 코드 예제와 함께 살펴봅니다. 특히 Java 8부터는 forEach 메서드와 Iterator 클래스를 활용해 컬렉션을 더욱 간결하게 반복 처리할 수 있습니다.

ArrayList 순회 방법 총정리

ArrayList를 반복 처리하는 대표적인 방법은 다음의 5가지입니다.

  1. 기본 for 문 (Classic For Loop)
  2. 향상된 for 문 (Advanced For Loop)
  3. Iterator
  4. while 문
  5. forEach 메서드 (Java 8)

먼저 예제에서 사용할 ArrayList를 생성하겠습니다.

import java.util.ArrayList;
import java.util.List;

public class LoopOverArrayExamples {

    private List fruitBasket = new ArrayList<>(0);

    public void addFruitsToBasket() {
        fruitBasket.add("Apple");
        fruitBasket.add("Banana");
        fruitBasket.add("Pear");
        fruitBasket.add("Mango");
    }
}
  • 자바에서 Map 순회하는 방법
  • 자바에서 두 개의 ArrayList 비교하기
  • 자바에서 리스트를 배열로 변환하는 방법

1. 기본 for 문 사용하기

가장 전통적인 방식으로, 인덱스를 직접 제어할 수 있어 특정 범위만 순회하거나 역순으로 접근해야 할 때 유용합니다.

for (int i=0; i<fruitBasket.size(); i++) {
    System.out.println(fruitBasket.get(i));
}

2. 향상된 for 문 사용하기

인덱스 관리가 필요 없어 코드가 간결하고 가독성이 뛰어납니다. 단순히 모든 요소를 순회할 때 가장 널리 쓰이는 방식입니다.

for(String fruit : fruitBasket) {
    System.out.println(fruit);
}

3. Iterator 사용하기

순회 중에 요소를 안전하게 삭제해야 하는 경우에 적합한 방법입니다. hasNext()로 요소 존재 여부를 확인하고 next()로 값을 가져옵니다.

Iterator fruitIterator = fruitBasket.iterator();
while (fruitIterator.hasNext()) {
    System.out.println(fruitIterator.next());
}

4. while 문 사용하기

조건 기반 반복이 필요할 때 활용할 수 있으며, 기본 for 문과 동일하게 인덱스를 이용해 요소에 접근합니다.

int i = 0;
while (i < fruitBasket.size()) {
    System.out.println(fruitBasket.get(i));
    i++;
}

5. forEach 메서드 (Java 8)

Java 8에서 도입된 람다 표현식을 활용하면 한 줄 수준의 간결한 코드로 컬렉션을 순회할 수 있습니다.

fruitBasket.forEach( (fruit) ->
    System.out.println(fruit)
);