Skip to content

Commit b006f1e

Browse files
Create QueueDemo.java
1 parent 6197c1e commit b006f1e

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package learnCollections;
2+
3+
import java.util.LinkedList;
4+
import java.util.Queue;
5+
import java.util.concurrent.ArrayBlockingQueue;
6+
7+
/*
8+
Queue (Interface)
9+
10+
FIFO
11+
(First In First Out)
12+
13+
+----------------------------------+
14+
| Queue Ops |
15+
| |
16+
| enqueue |
17+
| dequeue |
18+
| peek |
19+
+----------------------------------+
20+
21+
↓ Equivalent Methods
22+
23+
enqueue → add() / offer()
24+
dequeue → remove() / poll()
25+
peek → element() / peek()
26+
27+
28+
+----------------------------------+
29+
| Queue Implementations |
30+
| |
31+
| LinkedList |
32+
| PriorityQueue |
33+
+----------------------------------+
34+
35+
*/
36+
37+
public class QueueDemo {
38+
public static void main(String[] args) {
39+
LinkedList<Integer> list = new LinkedList<>();
40+
list.addLast(1); // enqueue
41+
list.addLast(2); // enqueue
42+
list.addLast(3); // enqueue
43+
System.out.println(list);
44+
45+
Integer i = list.removeFirst(); // dequeue
46+
System.out.println(list); // [2, 3]
47+
list.getFirst(); // peek
48+
49+
50+
Queue<Integer> queue = new LinkedList<>();
51+
queue.add(1);
52+
queue.add(2);
53+
queue.add(3);
54+
System.out.println(queue); // [1, 2, 3]
55+
56+
Integer j = queue.remove(); // dequeue
57+
System.out.println(queue); // [2, 3]
58+
queue.peek(); // peek
59+
60+
61+
Queue<Integer> q = new LinkedList<>();
62+
q.add(1);
63+
System.out.println(q.size());
64+
65+
System.out.println(q.remove()); // throws exception if queue is empty
66+
System.out.println(q.poll()); // returns null if queue is empty
67+
68+
// System.out.println(q.element()); // throws exception if queue is empty
69+
System.out.println(q.peek()); // returns null if queue is empty
70+
71+
72+
Queue <Integer> queue2 = new ArrayBlockingQueue<>(2); // capacity of 2
73+
System.out.println(queue2.add(1)); // true
74+
System.out.println(queue2.offer(2)); // true
75+
76+
System.out.println(queue2.add(3)); // throws IllegalStateException: Queue full
77+
System.out.println(queue2.offer(3)); // returns false if queue is full
78+
}
79+
}

0 commit comments

Comments
 (0)