Merge pull request #770 from daher928/patch-1
Update GenericArrayListQueue.java
This commit is contained in:
commit
b33c7786b4
@ -2,29 +2,68 @@ package DataStructures.Queues;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* This class implements a GenericArrayListQueue.
|
||||
* <p>
|
||||
* A GenericArrayListQueue data structure functions the same as any specific-typed queue.
|
||||
* The GenericArrayListQueue holds elemets of types to-be-specified at runtime.
|
||||
* The elements that are added first are the first to be removed (FIFO)
|
||||
* New elements are added to the back/rear of the queue.
|
||||
*
|
||||
*/
|
||||
public class GenericArrayListQueue<T> {
|
||||
/**
|
||||
* The generic ArrayList for the queue
|
||||
* T is the generic element
|
||||
*/
|
||||
ArrayList<T> _queue = new ArrayList<T>();
|
||||
|
||||
/**
|
||||
* Checks if the queue has elements (not empty)
|
||||
*
|
||||
* @return True if the queue has elements. False otherwise.
|
||||
*/
|
||||
private boolean hasElements() {
|
||||
return !_queue.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks what's at the front of the queue
|
||||
*
|
||||
* @return If queue is not empty, element at the front of the queue. Otherwise, null
|
||||
*/
|
||||
public T peek() {
|
||||
T result = null;
|
||||
if(this.hasElements()) { result = _queue.get(0); }
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts an element of type T to the queue.
|
||||
*
|
||||
* @param element of type T to be added
|
||||
* @return True if the element was added successfully
|
||||
*/
|
||||
public boolean add(T element) {
|
||||
return _queue.add(element);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve what's at the front of the queue
|
||||
*
|
||||
* @return If queue is not empty, element retrieved. Otherwise, null
|
||||
*/
|
||||
public T poll() {
|
||||
T result = null;
|
||||
if(this.hasElements()) { result = _queue.remove(0); }
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Main method
|
||||
*
|
||||
* @param args Command line arguments
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
GenericArrayListQueue<Integer> queue = new GenericArrayListQueue<Integer>();
|
||||
System.out.println("Running...");
|
||||
|
Loading…
Reference in New Issue
Block a user