-
728x90
코틀린에서 Deque 사용방법
1. "import java.util.ArrayDeque" 를 표기한다.
2. var Deque = ArrayDeque<Int>()
코틀린에서의 Deque 자주 사용할거 같은 함수 정리(필자 기준)
1.값 추가 및 삭제하기
import java.util.ArrayDeque fun main(){ var Deque = ArrayDeque<Int>() //정수 앞에서부터 추가하기 for(i in 1 .. 5){ Deque.addFirst(i) } println("정수 앞에서부터 추가하기: ${Deque}") //실행결과 //정수 앞에서부터 추가하기: [5, 4, 3, 2, 1] //반대로 하고 싶을 경우는 addLast() 사용 // 뒤에서부터 삭제하기 for(i in 1 .. 5){ Deque.removeLast() println("삭제값:${i} ${Deque}") } // 삭제값:1 [5, 4, 3, 2] // 삭제값:2 [5, 4, 3] // 삭제값:3 [5, 4] // 삭제값:4 [5] // 삭제값:5 [] // 반대로 하고 싶을 경우는 removeFirst()를 사용 }
2. pollFirst() 함수 사용방법
import java.util.ArrayDeque fun main(){ //pollFirst() 함수 알아보기 var Deque2 = ArrayDeque<Int>() for(i in 1 .. 5){ Deque2.add(i) } println("Deque2 = ${Deque2}") var Deque3 = ArrayDeque<Int>() println("Deque3 = ${Deque3}") for(i in 1 .. 5){ Deque3.add(Deque2.pollFirst()) println("Deque2 = ${Deque2}") println("Deque3 = ${Deque3}") } } //실행결과 // Deque2 = [1, 2, 3, 4, 5] // Deque3 = [] // Deque2 = [2, 3, 4, 5] // Deque3 = [1] // Deque2 = [3, 4, 5] // Deque3 = [1, 2] // Deque2 = [4, 5] // Deque3 = [1, 2, 3] // Deque2 = [5] // Deque3 = [1, 2, 3, 4] // Deque2 = [] // Deque3 = [1, 2, 3, 4, 5] // -> pollFirst() 는 가장 앞에 있는 자료를 넘기면서 자신의 가장 앞에 있던 자료를 삭제함 // 순서를 반대로 하고싶을때는 pollLast() 사용하면 됨
3. peekFirst() 사용 방법
import java.util.ArrayDeque fun main(){ //pollFirst()는 삭제를 하지만 삭제하지 않고 그냥 값만 확인하고 싶을때는 peekFirst()를 사용한다. //시간 복잡도를 생각했을때 O(1)의 시간 복잡도를 가진다. var Deque4 = ArrayDeque<Int>() for(i in 1 .. 5){ Deque4.add(i) } println("Deque4.peekFirst() = ${Deque4.peekFirst()}") //실행결과 //Deque4.peekFirst() = 1 }
그 외의 함수들을 확인할 수 있는 공식 문서링크
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-array-deque/
'CS' 카테고리의 다른 글
자료구조 Part2 (2) 2023.10.17 자료구조 Part1 (0) 2023.10.16