ListIterator
List Iterators
list에는 특별한 iterator인 ListIterator가 있습니다.
이것은 앞뒤 양방향으로 iterator을 순회할 수 있습니다.
hasPrevious() 함수와 previous()를 이용하여 뒤로 순회 할 수 있습니다.
추가적으로, nextIndex()와 previousIndex()로 요소의 인덱스를 알아낼 수 있습니다.
listIterator은 일반 iterator과는 다르게, 마지막 요소까지 도달한 이후로도 listIterator을 사용 할 수 있습니다.
val numbers = listOf("one", "two", "three", "four")
val listIterator = numbers.listIterator()
//listIterator을 마지막 까지 보냅니다.
while (listIterator.hasNext()) listIterator.next()
println("Iterating backwards:")
//listIterator을 다시 앞으로 순회합니다.
while (listIterator.hasPrevious()) {
print("Index: ${listIterator.previousIndex()}") //인덱스 사용 가능
println(", value: ${listIterator.previous()}") //마지막 요소까지 도달해도 재사용 가능
}
>>>
Iterating backwards:
Index: 3, value: four
Index: 2, value: three
Index: 1, value: two
Index: 0, value: one
iterator은 만들어질 때 무조건 맨 첫 요소를 가르키지만, listIterator은 직접 index값을 넣어서 원하는 요소를 가르키게 할 수 있습니다.
val numbers = listOf("one", "two", "three", "four")
val listIterator = numbers.listIterator(3)
println(listIterator.next()) //마지막 요소를 가르키게 했음
>>>
four
Author And Source
이 문제에 관하여(ListIterator), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nagosooo/ListIterator저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)