Java의 입력/출력과 스트림
Alex Liu
Software Development Engineer

import java.util.ArrayList;
public class SampleData {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
}
}
[Alice, Bob, Charlie]
// ListIterator 클래스 임포트 import java.util.ListIterator;// 샘플 리스트 `names`에 대한 ListIterator 생성 ListIterator<String> it = names.listIterator(); // .hasNext()와 `.next()`로 순회하며 한 줄씩 출력 while (it.hasNext()) { System.out.println(it.next()); }
Alice
Bob
Charlie
.previous()로 뒤로 이동// 샘플 리스트 `names`에 대한 ListIterator 생성
ListIterator<String> it = names.listIterator(names.size());
// .hasPrevious()로 리스트의 시작에 도달했는지 확인
while (it.hasPrevious()) {
// .previous()로 역순으로 요소 가져오기
System.out.println(it.previous());}
Charlie
Bob
Alice
.set() 메서드 사용// 샘플 리스트 names에 대한 ListIterator 생성 ListIterator<String> it = names.listIterator();// 리스트를 순회하며 .set()으로 요소 수정 while (it.hasNext()) { String name = it.next(); if ("Bob".equals(name)) it.set("Bobby"); }
names 리스트:[Alice, Bobby, Charlie]
.add()로 요소 추가ListIterator<String> it = names.listIterator();// 리스트를 순회하며 .add()로 요소 삽입 while (it.hasNext()) { String name = it.next(); if ("Charlie".equals(name)) it.add("David"); }
names 리스트:[Alice, Bobby, Charlie, David]
ListIterator는 Iterator를 확장주요 메서드 요약
.next()/.previous(): 앞/뒤로 이동.set(): 현재 요소 수정.add(): 동적 삽입.remove(): 안전한 삭제ArrayList, LinkedList 등)에서만 동작Java의 입력/출력과 스트림