File tree 1 file changed +42
-0
lines changed
1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments