Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 리스트를 역순으로 순회하는 3가지 방법 본문
Java에서 리스트를 역순으로 순회하는 작업은 종종 필요합니다. 이를 위해 Java에서는 여러 가지 방법을 제공하고 있습니다. 아래에서는 리스트를 역순으로 순회하는 세 가지 방법을 예제와 함께 살펴보겠습니다.
예제 1: 기본 for 루프를 사용한 역순 순회
import java.util.ArrayList;
import java.util.List;
public class ReverseTraversalExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
for (int i = list.size() - 1; i >= 0; i--) {
System.out.println("요소: " + list.get(i));
}
}
}
위 예제는 기본적인 for 루프를 사용하여 리스트를 역순으로 순회하는 방법입니다. 리스트의 마지막 요소부터 시작하여 첫 번째 요소까지 역순으로 순회합니다.
예제 2: Iterator를 사용한 역순 순회
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ReverseTraversalExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
ListIterator<String> iterator = list.listIterator(list.size());
while (iterator.hasPrevious()) {
String element = iterator.previous();
System.out.println("요소: " + element);
}
}
}
위 예제는 Iterator를 사용하여 리스트를 역순으로 순회하는 방법입니다. listIterator() 메서드를 사용하여 리스트의 끝에서부터 시작하는 ListIterator를 생성한 후, hasPrevious() 메서드로 역순으로 요소가 있는지 확인합니다.
예제 3: Java 8 Stream API를 사용한 역순 순회
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class ReverseTraversalExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
List<String> reversedList = new ArrayList<>(list);
Collections.reverse(reversedList);
reversedList.forEach(element -> System.out.println("요소: " + element));
}
}
Java 8에서는 Stream API를 사용하여 역순으로 리스트를 순회할 수 있습니다. Collections 클래스의 reverse() 메서드를 사용하여 리스트를 역순으로 만든 후, forEach() 메서드로 각 요소를 출력합니다.
예제 4: LinkedList를 사용한 역순 순회
import java.util.LinkedList;
public class ReverseTraversalExample {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");
for (String element : list.descendingIterator()) {
System.out.println("요소: " + element);
}
}
}
LinkedList를 사용하여 리스트를 역순으로 순회하는 방법입니다. descendingIterator() 메서드를 사용하여 리스트의 역순 Iterator를 얻은 후, for-each 루프로 각 요소를 출력합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] HashMap 모든 요소들의 합계와 평균 계산하기 (0) | 2024.03.07 |
---|---|
[Java/자바] 특정 조건으로 리스트 필터링하는 3가지 방법 (0) | 2024.03.07 |
[Java/자바] 명령행 인자 입력 받는 방법 (0) | 2024.03.07 |
[Java/자바] 여러 Set(HashSet) 합치는 방법 (0) | 2024.03.07 |
[Java/자바] 배열을 Set(HashSet)으로 변환하기 (0) | 2024.03.07 |