forked from TheAlgorithms/Java
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGenericArrayListQueue.java
More file actions
Latest commit
42 lines (36 loc) · 1.13 KB
/
Copy pathGenericArrayListQueue.java
File metadata and controls
42 lines (36 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
importjava.util.ArrayList;
publicclassGenericArrayListQueue<T> {
ArrayList<T> _queue = newArrayList<T>();
privatebooleanhasElements() {
return !_queue.isEmpty();
}
publicTpeek() {
Tresult = null;
if(this.hasElements()) { result = _queue.get(0); }
returnresult;
}
publicbooleanadd(Telement) {
return_queue.add(element);
}
publicTpoll() {
Tresult = null;
if(this.hasElements()) { result = _queue.remove(0); }
returnresult;
}
publicstaticvoidmain(String[] args) {
GenericArrayListQueue<Integer> queue = newGenericArrayListQueue<Integer>();
System.out.println("Running...");
assertqueue.peek() == null;
assertqueue.poll() == null;
assertqueue.add(1) == true;
assertqueue.peek() == 1;
assertqueue.add(2) == true;
assertqueue.peek() == 1;
assertqueue.poll() == 1;
assertqueue.peek() == 2;
assertqueue.poll() == 2;
assertqueue.peek() == null;
assertqueue.poll() == null;
System.out.println("Finished.");
}
}