Skip to content

Commit 6e3ed6c

Browse files
Merge pull request TheAlgorithms#165 from KyleScharnhorst/add-generic-queue
Add: generic queue implementation.
2 parents 7555d9e + 7ea7678 commit 6e3ed6c

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import java.util.ArrayList;
2+
3+
public class GenericArrayListQueue<T> {
4+
ArrayList<T> _queue = new ArrayList<T>();
5+
6+
private boolean hasElements() {
7+
return !_queue.isEmpty();
8+
}
9+
10+
public T peek() {
11+
T result = null;
12+
if(this.hasElements()) { result = _queue.get(0); }
13+
return result;
14+
}
15+
16+
public boolean add(T element) {
17+
return _queue.add(element);
18+
}
19+
20+
public T poll() {
21+
T result = null;
22+
if(this.hasElements()) { result = _queue.remove(0); }
23+
return result;
24+
}
25+
26+
public static void main(String[] args) {
27+
GenericArrayListQueue<Integer> queue = new GenericArrayListQueue<Integer>();
28+
System.out.println("Running...");
29+
assert queue.peek() == null;
30+
assert queue.poll() == null;
31+
assert queue.add(1) == true;
32+
assert queue.peek() == 1;
33+
assert queue.add(2) == true;
34+
assert queue.peek() == 1;
35+
assert queue.poll() == 1;
36+
assert queue.peek() == 2;
37+
assert queue.poll() == 2;
38+
assert queue.peek() == null;
39+
assert queue.poll() == null;
40+
System.out.println("Finished.");
41+
}
42+
}

0 commit comments

Comments
 (0)