[ JAVA ] Queue 클래스

     

     

     

    Queue

    줄을 지어 순서대로 처리되는 자료구조로 데이터를 일시적으로 쌓아두기 위해 사용된다.

    스택 ( FILO - First In Last Out ) 과 다르게 FIFO( First In First Out )구조를 가진다.

    BFS에서 사용된다.

     

     

     

    [ 사용법 ] 

    import java.util.LinkedList; 
    import java.util.Queue;
    Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언, linkedlist 이용
    Queue allqueue = new LinkedList(); // 어떠한 자료형이든 삽입, 삭제 가능 = int와 String 데이터 공존

     

     

     

    [ 데이터 추가 ] 

    add(value) , offer(value)를 사용하여 추가할 수 있다.

    add(value)의 경우 데이터 추가 성공시 true를 반환하고 큐의 여유공간이 없어 삽입에 실패 시  IllegalStateException를 발생시킨다.

    offer(value)의 경우 데이터 추가 성공시 true를 반환하고 큐의 여유공간이 없어 삽입에 실패 시  false를 반환시킨다.

    queue.add(1);     // queue에 값 1 추가
    queue.add(2);     // queue에 값 2 추가
    queue.offer(3);   // queue에 값 3 추가

     

     

     

    [ 데이터 삭제 ]

    queue.poll();       // queue에 첫번째 값을 반환하고 제거 /  비어있다면 null 반환
    queue.remove();     // queue에 첫번째 값의 데이터 타입을 반환하고 제거 / 비어있다면 Exception("NoSuchElementException")발생
    queue.remove(value); // queue에 value가 존재하면 삭제 후 true 반환 / 없다면 false
    queue.clear();      // queue 초기화

     

     

     

    [ 데이터 접근 ]

    queue.peek();       // queue의 첫번째 값 참조

     

     

     

    [ queue 크기 확인 ]

    queue.size();

     

     

     

    [ 데이터 존재 유무 ]

    queue.contains(value) // 데이터가 있으면 true 반환 없으면 false 반환

     

     

     

    [ 공백 큐 확인 ] 

    queue.isEmpty(); //공백이면 true, 아니라면 false 반환

     

     

     

     

    댓글