Java

[Java] Iterator와 ListIterator

bornsoon 2025. 6. 7. 21:55

[ Iterator 인터페이스 ]

컬렉션의 각 요소에 접근 가능  >>> but, 향상된 for 문 권장!


[ ListIterator 인터페이스 ]

컬렉션의 요소의 대체, 추가, 인덱스 검색 등을 위한 작업에서 양방향 이동 지원

 

void add(E e) 해당 리스트에 전달된 요소 추가. (선택적 기능)
boolean hasNext() 순방향 순회에서 다음 요소가 있으면 true, 가지고 있지 않으면 false 반환.
boolean hasPrevious() 역방향 순회할에서 다음 요소가 있으면 true, 가지고 있지 않으면 false 반환.
E next() 다음 요소를 반환하고, 커서의 위치를 순방향으로 이동.
int nextIndex() 다음 next() 메소드를 호출하면 반환될 요소의 인덱스 반환.
E previos() 이전 요소를 반환하고, 커서의 위치를 역방향으로 이동.
int previousIndex() 다음 previous() 메소드를 호출하면 반환될 요소의 인덱스 반환.
void remove() next()나 previous() 메소드에 의해 반환된 가장 마지막 요소를 제거. (선택적 기능)
void set(E e) next()나 previous() 메소드에 의해 반환된 가장 마지막 요소를 전달된 객체로 대체. (선택적 기능)

 

-예제-

LinkedList<Integer> lnkList = new LinkedList<Integer>();

lnkList.add(4);
lnkList.add(2);
lnkList.add(3);
lnkList.add(1);

ListInterator<Integer> iter = lnkList.listIterator();
while (iter.hasNext()) {
	System.out.print(iter.next() + " ");
}

System.out.println();

while (iter.hasPrevious()) {
	System.out.print(iter.previos() + " ");
}

// 출력 결과
// 4 2 3 1
// 1 3 2 4

 

 

: TCP School

https://www.tcpschool.com/java/java_collectionFramework_iterator

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

728x90

'Java' 카테고리의 다른 글

[Spring] @AfterEach, @BeforeEach  (0) 2025.06.03
[Java] AtomicLong  (0) 2025.06.03
[Java] ConcurrentHashMap  (0) 2025.06.03
[Java] split와 정규식  (0) 2025.05.31
[Java] next() & nextLine()  (0) 2025.05.27