STL to Collection (6)
cpp에서 사용하는 Stack, LinkedList 관련기능을 java, kotlin 로 치환해 봅니다.
Stack
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
LinkedList
cpp
1 |
|
java
1 |
|
1 |
|
이터레이터 사용법
cpp
1 |
|
java
1 |
|
- iterator 조작이 cpp만큼 자유롭지는 않습니다.
kotlin
1 |
|
- 기본적으로
list.iterator()
를 통해서 이터레이터를 얻을 수 있습니다. - list 의 경우
listIterator()
를 이용하면,next()
,previous()
를 이용해서 이러레이터를 앞뒤로 이동할 수 있습니다. - 다만 더이상 이동할 위치가 없는경우 예외가 발생하므로,
listIter.hasNext()
,listIter.hasNext()
를 이용해서 확인후 함수 호출을 권장합니다.
Kotlin 에서의 iterator 를 이용한 삽입 삭제
1 |
|
- remove() 의 경우
next()
,previous()
를 호출했을때, 리턴된 원소를 삭제합니다. - add() 의 경우 삽입후 삽입한 원소의 뒤로 이동하게 됩니다.
Reference
- Stack
- LinkedList
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list-iterator/
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/