Kotlin Deque(덱 or 디큐)
Notepad96
·2020. 12. 2. 22:57
1. Deque(덱 or 디큐)
Deque 덱이라고 부르며 디큐라고로 부른다.
Queue가 한쪽으로는 삽입만 하고 다른 한쪽으로 삭제만 가능한 구조였다면
Deque란 양쪽 방향에서 삽입, 삭제가 가능한 자료 구조이다.
상황에 따라 스택이나 큐처럼 사용할 수도 있는 유연함을 갖고 있다.
사용하기 위해서 "import java.util.ArrayDeque" 를 해주어야 한다.
2. 코 드
환경 : Kotlin Version = 1.4.20, JVM
import java.util.ArrayDeque
fun main(args : Array<String>) {
var dq = ArrayDeque<Int>()
/* 삽입 */
dq.add(5)
dq.addFirst(2) // 앞에 삽입
dq.addLast(4) // 뒤에 삽입
dq.add(3) // 뒤에 삽입
println("==================삽 입==================")
println(dq)
println("Size : ${dq.size}")
println("3 존재 : ${dq.contains(3)}")
println("1 존재 : ${dq.contains(1)}")
dq.forEachIndexed { index, i -> print("${index}:${i} ") }
println("\n==================접 근==================")
println("index 3 = ${dq.elementAt(3)}")
println("index 1 = ${dq.elementAt(1)}")
println("맨 앞 : ${dq.first}")
println("맨 뒤 : ${dq.last}")
println("==================삭 제===================")
println("앞에 삭제 : ${dq.remove()}") // 맨 앞 삭제
// println("앞에 삭제 : ${dq.removeFirst()}")
println("앞에 삭제 : ${dq.removeLast()}")
println(dq)
}
- add 함수를 사용하여서 삽입이 가능하며 맨 뒤에 원소를 삽입한다.
addFirst, addLast 함수를 사용하여 각각 맨 앞, 맨 뒤에 값을 삽입할 수 있다.
- size 프로퍼티를 사용하여 길이를 가져올 수 있으며
contains 함수를 사용하여 해당 값이 존재하는지 판별할 수 있다.
- first와 last 프로퍼티를 사용하여 각각 맨 앞과 맨 뒤 원소를 읽을 수 있으며
elementAt 함수를 사용하여서 index를 인수로주면 해당 index의 원소를 읽을 수 있다.
- remove 함수를 사용하여서 삭제가 가능하며 맨 앞에 원소를 삭제한다.
removeFirst와 removeLast 함수를 사용하면 각각 맨 앞과 맨 뒤 원소를 삭제할 수 있다.
3. 참 조
'Kotlin > Collections' 카테고리의 다른 글
Kotlin 중복 원소 제거 - distinct (0) | 2020.12.03 |
---|---|
Kotlin PriorityQueue(우선순위 큐) (0) | 2020.12.03 |
Kotlin Pair, Triple Val cannot be reassigned - Pair 값 수정 (0) | 2020.12.02 |
Kotlin 큐(Queue) (0) | 2020.12.01 |
Kotlin 스택(Stack) (0) | 2020.11.30 |