>  기사  >  Java  >  Java에서 Iterator와 ListIterator의 차이점은 무엇입니까?

Java에서 Iterator와 ListIterator의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2019-03-16 15:10:574989검색

Iterator 및 ListIterator는 Java의 세 커서 중 두 개이며 둘 다 Java.UTIL 패키지의 컬렉션 프레임워크에 의해 정의됩니다. 그렇다면 그들 사이의 차이점은 무엇입니까? 다음 기사에서는 Iterator와 ListIterator의 차이점을 소개하겠습니다. 도움이 되길 바랍니다.

Java에서 Iterator와 ListIterator의 차이점은 무엇입니까?

Iterator란 무엇입니까?

Iterator는 반복자를 나타내며 컬렉션 요소를 탐색하는 데 사용되는 컬렉션 프레임워크의 인터페이스입니다. 컬렉션의 각 요소를 하나씩 반복하고 컬렉션에서 요소를 가져오거나 컬렉션에서 요소를 제거할 수 있지만 Iterator를 사용하여 컬렉션의 요소를 수정할 수는 없습니다.

Iterator에는 컬렉션의 시작 부분에 반복자를 반환하는 iterator() 메서드가 있습니다. 컬렉션의 시작 부분에 반복자를 가져온 다음 컬렉션의 요소를 반복하고 나면 루프를 설정하고 루프가 반복될 때마다 hasNext()를 호출합니다.

hasNext() true를 반환하면 컬렉션에 다음 요소가 있다는 의미이고, false를 반환하면 모든 요소를 ​​순회한다는 의미입니다. 그런 다음 루프 내에서 next()를 사용하여 컬렉션의 각 요소를 가져올 수 있습니다. next() 메소드는 컬렉션의 다음 요소를 반환합니다.

단점:

● Iterator를 사용하면 컬렉션을 앞으로만 이동할 수 있습니다.

● Iterator를 사용하면 컬렉션의 요소를 조작하거나 수정할 수 없습니다.

ListIterator란 무엇인가요?

ListIterator는 Iterator 인터페이스를 확장하는 데 사용되는 Collection 프레임워크의 인터페이스입니다. ListIterator를 사용하면 컬렉션의 요소를 앞뒤로 탐색할 수 있습니다. 컬렉션의 모든 요소를 ​​추가, 제거 또는 수정할 수도 있습니다. 간단히 말해서 Iterator의 단점을 제거했다고 말할 수 있습니다.

ListIterator의 메소드는 다음과 같습니다.

● HasNext(): true가 반환되면 컬렉션에 더 많은 요소가 있음을 확인합니다.

● Next(): 목록의 다음 요소를 반환합니다.

● NextIndex(): 목록에서 다음 요소의 인덱스를 반환합니다.

● HasPrevious(): 집합에 반대 요소가 있는 경우 true를 반환합니다.

● 이전(): 컬렉션의 이전 요소를 반환합니다.

● PreviousIndex(): 컬렉션에 있는 이전 요소의 인덱스를 반환합니다.

● remove(): 컬렉션에서 요소를 제거합니다.

● Set(): 집합의 요소를 수정합니다.

● Add(): 컬렉션에 새 요소를 추가합니다.

Iterator와 ListIterator의 주요 차이점

1. 순회

Iterator를 사용하면 Map, List, Set 등 모든 컬렉션을 순회할 수 있지만 앞으로는 컬렉션의 요소만 순회할 수 있습니다. 방향.

ListIterator를 사용하면 List로 구현된 객체만 순회할 수 있지만 컬렉션의 요소는 앞뒤로 순회할 수 있습니다.

2. 요소 추가

Iterator는 컬렉션에 요소를 추가할 수 없지만 ListIteror는 컬렉션에 요소를 추가할 수 있습니다.

3. 요소 수정

Iterator는 컬렉션의 요소를 수정할 수 없습니다. 그러나 ListIterator는 set()을 사용하여 컬렉션의 요소를 수정할 수 있습니다.

4. 인덱스

Iterator는 컬렉션에 있는 요소의 인덱스를 가져올 수 없습니다. 그러나 ListIterator를 사용하면 컬렉션에 있는 요소의 인덱스를 얻을 수 있습니다.

추천 동영상 튜토리얼: "Java Tutorial"

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 Java에서 Iterator와 ListIterator의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.