개발/자바
Java에서 List를 순회하는 다양한 방법
피터JK
2025. 1. 15. 10:10
728x90

Java에서 List는 자주 사용되는 컬렉션 타입 중 하나입니다. List의 요소를 반복적으로 처리하려면 다양한 방법으로 순회할 수 있습니다. 이번 포스팅에서는 List를 순회하는 방법을 예제와 함께 소개하겠습니다.
1. 기본 for문 (Index 기반 순회)
for문을 사용하여 List의 크기와 인덱스를 기반으로 순회할 수 있습니다. 이 방법은 요소에 접근하기 위해 인덱스가 필요할 때 유용합니다.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
특징:
- list.get(i)를 통해 특정 인덱스의 요소를 직접 접근할 수 있습니다.
- List의 크기가 크거나 동적 변경이 잦은 경우 성능에 유의해야 합니다.
2. 향상된 for문 (for-each문)
Java 5부터 추가된 for-each문은 컬렉션이나 배열을 간결하게 순회할 수 있습니다.
for (String item : list) {
System.out.println(item);
}
특징:
- 코드가 간결하고 읽기 쉽습니다.
- 요소를 수정하거나 인덱스가 필요하지 않은 경우 적합합니다.
3. Iterator를 사용한 순회
Iterator는 Java의 컬렉션을 순회하기 위한 표준 인터페이스입니다. 이 방법은 요소를 삭제하거나 조건부로 순회할 때 유용합니다.
import java.util.Iterator;
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
특징:
- iterator.remove()를 사용하여 안전하게 요소를 제거할 수 있습니다.
- 순회 중 요소를 추가하는 것은 불가능합니다.
4. Stream API를 사용한 순회
Java 8 이상에서는 Stream API를 사용하여 리스트를 함수형 스타일로 순회할 수 있습니다.
list.stream().forEach(item -> System.out.println(item));
또는 메서드 참조를 활용하면 더욱 간결해집니다.
list.forEach(System.out::println);
특징:
- 데이터 처리를 간단하고 직관적으로 표현할 수 있습니다.
- 대규모 데이터 처리나 병렬 처리가 필요한 경우 유리합니다.
5. ListIterator를 사용한 양방향 순회
ListIterator는 Iterator의 확장 버전으로, 양방향 순회가 가능합니다.
import java.util.ListIterator;
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
System.out.println(listIterator.next());
}
// 뒤로 순회
while (listIterator.hasPrevious()) {
System.out.println(listIterator.previous());
}
특징:
- 양방향 순회가 필요할 때 유용합니다.
- 요소를 추가하거나 변경하는 작업도 가능합니다.
각 방법의 사용 상황 요약
방법특징적합한 상황
| 방법 | 특징 | 적합한 상 |
| 기본 for문 | 인덱스 기반으로 요소 접근 가능 | 인덱스를 활용하거나 요소를 수정할 때 |
| 향상된 for문 (for-each) | 간단하고 가독성이 높음 | 요소 접근만 필요한 경우 |
| Iterator | 요소를 안전하게 제거 가능 | 조건부로 요소 제거가 필요할 때 |
| Stream API | 함수형 프로그래밍 방식, 병렬 처리 가능 | 데이터 처리가 필요한 경우 |
| ListIterator | 양방향 순회 및 요소 추가/변경 가능 | 양방향 순회가 필요한 경우 |
마무리
Java에서 List를 순회하는 방법은 사용자의 목적과 상황에 따라 다양하게 선택할 수 있습니다.
- 단순히 요소를 출력하고 싶다면 for-each문이나 Stream API를 사용하면 간결합니다.
- 요소를 조건부로 수정하거나 제거해야 한다면 Iterator나 ListIterator를 사용하는 것이 적합합니다.
여러분의 상황에 맞는 방법을 선택하여 효율적인 코드를 작성해 보세요! 😊
의견 남기기
위 내용에 대한 질문이나 의견이 있다면 댓글로 남겨주세요. 함께 성장하는 개발자가 되었으면 합니다! 🚀
728x90