큐 자료구조 관련 강의에서, 강의예제를 먼저 풀어보고 강의를 들었는데
나는 큐에서 테이터를 없앨 때 poll을 사용했는데 강사님은 remove를 쓰셨다.
근데 결과는 똑같아서 이 둘의 차이가 궁금해져서 정리해보았다.
++ 큐에서 데이터를 삭제하는 또다른 방법인 clear까지 더해서 정리!
혹시 잘못된 부분이 있거나 궁금한 부분은 댓글 남겨주세요
피드백 환영입니다⭐️
먼저, 큐는 선입선출 구조이기 때문에 먼저 들어간 데이터가 먼저 삭제된다는 점 참고!
-> 큐의 첫번째 요소를 삭제(및 반환)한다.
만약 큐가 비어있으면 ⛔️예외가 발생⛔️한다.
-> 큐의 첫번째 요소를 삭제(및 반환)한다.
만약 큐가 비어있으면 ⛔️null을 반환⛔️한다.
-> 큐의 모든 요소를 삭제한다.
반환타입은 void이다.(반환은 하지 않는다.)
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue queue = new LinkedList();
queue.add(1);
queue.add(2);
System.out.println("queue = " + queue); // queue = [1, 2]
// remove 해보기
System.out.println("remove한 값:" + queue.remove()); // remove한 값: 2
System.out.println("queue = " + queue); // queue = [1]
// poll 해보기
System.out.println("poll한 값: " + queue.poll()); // poll한 값: 1
System.out.println("queue = " + queue); // queue = []
// System.out.println("remove한 값:" + queue.remove()); -> 예외발생⛔️
System.out.println("poll한 값: " + queue.poll()); // poll한 값: null
// 다시 데이터 넣기
queue.add(1);
queue.add(2);
System.out.println("queue = " + queue); // queue = [1, 2]
// clear 해보기
queue.clear();
System.out.println("queue = " + queue); // queue = []
}
}
참고