Kotlin

[Kotlin]  Queue  +  LinkedList

혀가 길지 않은 개발자 2020. 9. 10. 13:08

Queue  +  LinkedList


import java.util.*

fun main() {

   val queue: Queue<String> = LinkedList<String>()

    queue.add("1번")
    queue.add("2번")
    queue.add("3번")
    queue.add("4번")
    queue.add("5번")
    queue.add("5번")

    println(queue.element())        // head 값 리턴 (삭제 안함)
    println(queue.elementAt(2))     // 해당 인덱스의 값 리턴
    
}

실행 결과

 

 

 

 


import java.util.*

fun main() {

   val queue: Queue<String> = LinkedList<String>()

    queue.add("1번")
    queue.add("2번")
    queue.add("3번")
    queue.add("4번")
    queue.add("5번")
    queue.add("5번")

    queue.offer("6번")       // add는 큐가 가득 찬 상태에서 추가하면 illegalStateException 예외 발생
    queue.offer("7번")       // offer는 큐가 가득 찬 상태에서 추가하면 예외 발생 X

    for (item in queue) {
        print("$item ")
    }

}

실행 결과

 

 

 

 


import java.util.*

fun main() {

   val queue: Queue<String> = LinkedList<String>()

    queue.add("1번")
    queue.add("2번")
    queue.add("3번")
    queue.add("4번")
    queue.add("5번")
    queue.add("5번")

    println(queue.peek())
    println(queue.element())

    queue.clear()
    println(queue.peek())       // 헤드 값 리턴, 큐가 비어있으면 null 값 리턴
    println(queue.element())    // 헤드 값 리턴, 큐가 비어있으면 NoSuchElementException 예외 발생

}

실행 결과

 

 

 

 


import java.util.*

fun main() {

   val queue: Queue<String> = LinkedList<String>()

    queue.add("1번")
    queue.add("2번")
    queue.add("3번")
    queue.add("4번")
    queue.add("5번")
    queue.add("6번")

    queue.poll()
    for (item in queue) {
        print("$item ")
    }

    println()
    queue.remove()
    for (item in queue) {
        print("$item ")
    }

    println()
    queue.clear()
    queue.poll()        // 헤드 값 리턴과 동시에 제거 (큐가 비어있으면 null 리턴)
    queue.remove()      // 헤드 값 제거 (큐가 비어있으면 NoSuchElementException 예외 발생)

}

실행 결과