06. Queue๐ฑ
1. Queue ํน์ง - ์์ โ ์ค๋ณต โญ๏ธ
- ์ ์ ์ ์ถ(FIFO, First In First Out)
- ๋จผ์ ์ ๋ ฅ๋ ์๋ฃ๋ฅผ ๋จผ์ ์ถ๋ ฅํ๋ ์๋ฃ๊ตฌ์กฐ
โ ๏ธ Stack : LIFO
2.Queue ์ธํฐํ์ด์ค์ Queue ์ธํฐํ์ด์ค ๊ตฌํํด๋์ค ๊ณ์ธต๋(hierarchies)

3. java.util.Queue<E> ์ธํฐํ์ด์ค ์ฃผ์ ๋ฉ์๋

4. Queue ๋ฉ์๋ ์ฌ์ฉ
Queue<String> q = new LinkedList<>();
q.offer("์๋ฐ"); // ํ์ ๋ง์ง๋ง์ ์์ ์ถ๊ฐ
q.offer("์ค๋ผํด");
q.offer("์๋ธ๋ฆฟ");
q.offer("์คํ๋ง");
q.offer("์๋ฐ ์คํฌ๋ฆฝํธ");
System.out.println(q);
// head ๊ฐ๋ณํ ํ ์ญ์
while (q.peek() != null) { // peek() : head ๋ฐํ ์์ผ๋ฉด null
String s = q.poll(); // pool() : head ๋ฐํ ํ ์ญ์ , ์์ผ๋ฉด null
System.out.print(s+" ");
}
[๊ฒฐ๊ณผ] [์๋ฐ, ์ค๋ผํด, ์๋ธ๋ฆฟ, ์คํ๋ง, ์์ค]
์๋ฐ ์ค๋ผํด ์๋ธ๋ฆฟ ์คํ๋ง ์์ค
5. PriorityQueue (์ฐ์ ์์ ํ) ๋ฉ์๋ ์ฌ์ฉ
์ผ๋ฐ์ ์ธ ํ: FIFO ๊ตฌ์กฐ
PriorityQueue(์ฐ์ ์์ ํ): ์ฐ์ ์์๋ฅผ ๊ฒฐ์ ํ์ฌ ๋ค์ด์จ ์์์ ์๊ด์์ด ๊ทธ ์ฐ์ ์์๊ฐ ๋์ ์๋ฆฌ๋จผํธ๋ฅผ ๋จผ์ ์ถ๋ ฅํ๋ ํ
PriorityQueue<String> p = new PriorityQueue<String>();
// ์ฐ์ ์์ ํ, Comparable ์ธํฐํ์ด์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํจ
p.offer("์๋ฐ");
p.offer("์ค๋ผํด");
p.offer("์๋ธ๋ฆฟ");
p.offer("์คํ๋ง");
p.offer("์๋ฐ ์คํฌ๋ฆฝํธ");
while (p.peek() != null) {
String s = p.poll();
System.out.print(s+" ");
}
[๊ฒฐ๊ณผ] ์๋ธ๋ฆฟ ์คํ๋ง ์ค๋ผํด ์๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ
'๐ปProgramming > โ๏ธJava' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
PreparedStatement (0) | 2022.08.22 |
---|---|
Statement (0) | 2022.08.19 |
[JAVA] Collections Framework - Map (0) | 2022.08.03 |
[JAVA] Collections Framework - Set (0) | 2022.08.03 |
[JAVA] Collections Framework - List (0) | 2022.08.03 |