Blog

[Java]24 기초문법 - 자료구조 컬렉션 Queue 생성과 메서드 기능 이용 연습

Author
Summary
Java의 자료구조
Category
Study
Tags
Java
Favorite
Memory Date
2023/07/27
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
6 more properties

Collection - Queue

원통, 통과하는 자료구조 Queue 복습해보고자 한다.
뚫려있는 원통같은 공간에 자료가 들어간다. 나올땐 처음 들어간 자료부터 나온다. First In First Out
Interface라서 생성자가 없다. => LinkedList 또는 ArrayList로 객체를 만든다.
삽입 삭제시 배열 크기 재 조정때문에 추가 비용 및 연산이 발생. 그리고 공간 비효율성과 배열의 재배치가 일어남.
LinkedList로 만드는 상황
처음, 중간 데이터 추가 삭제할 경우
LinkedList의 remove 함수 설명을 보면 '빈 공간을 채울 필요가 없다'고 되어있다.
삭제하고 싶은 원소를 null로 변경하기만 하면 되기때문에 매우 효율적이다. 빠르다.
ArrayList로 만드는 상황
순차적으로 추가 삭제 할 경우
맨 앞에 것을 꺼내야하는데, 꺼내고 나면 그 앞자리를 채우기 위해 모든 원소들을 한 칸씩 앞으로 옮겨야한다.(비효율적, 느림)
원소의 수가 많아지면 그만큼 비효율적인 것이다.
Method
.add(E e)
.peek()
.poll()
항상 공식 문서를 확인하고 정확한 명칭을 기억하려 노력하자

1. 기본 생성법

Queue<E> name = new LinkedList<E>();
//Queue 선언 + (객체)생성 Queue<Integer> intQueue = new LinkedList<>();
Java
복사

2. Queue 메서드 사용

.add(E e) : element 추가(넣기)
//add(element) 메서드로 생성한 Queue에 element를 넣어보자. intQueue.add(1); intQueue.add(5); intQueue.add(9);
Java
복사
.peek() : 먼저 들어간 element 읽기 통과, 삭제X
//읽기(r)//peek(item) 메서드로 Queue에 item을 읽을 수 있다.//10 -> 15 -> 1 순서로 들어갔기 때문에, 맨 위에는 1이있다. 그래서 1이 나온다. basket같이 들어가기 때문에. System.out.println(intQueue.peek());
Java
복사
.poll() : 먼저 들어간 element 빼기, 반환 및 삭제
//추출(r-d)//poll() 메서드로 Queue에 추가한 element를 들어간 순서대로 꺼내면서 제거 한다.while(!intQueue.isEmpty()){ System.out.println(intQueue.poll()); } //1-5-9순서로 넣었는데 1-5-9 순서로 나왔다.
Java
복사