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...");assert queue.peek() == null;assert queue.poll() == null;assert queue.add(1) == true;assert queue.peek() == 1;assert queue.add(2) == true;assert queue.peek() == 1;assert queue.poll() == 1;assert queue.peek() == 2;assert queue.poll() == 2;assert queue.peek() == null;assert queue.poll() == null;System.out.println("Finished.");}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。