Java中提供了Queue队列接口,可以继承此接口实现队列的数据结构,Java中提供了以下实现类,可以根据需要选择合适的队列

@see LinkedList
@see PriorityQueue
@see java.util.concurrent.LinkedBlockingQueue
@see java.util.concurrent.BlockingQueue
@see java.util.concurrent.ArrayBlockingQueue
@see java.util.concurrent.LinkedBlockingQueue
@see java.util.concurrent.PriorityBlockingQueue

使用LinkedList作为队列:

/**
 * java 基于LinkedList为底层实现的队列   (栈也可以)
 * @author Linging
 * @date 2019/2/10
 * 
 */

public class CollectionQueue {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Queue<String> que = new LinkedList<String>();
		
		//将指定元素插入到队尾
		que.offer("a");
		que.offer("b");
		que.offer("c");
		
		//检索,但不移除队列的头,如果队列为空则返回null
		System.out.println(que.peek());
		
		//检索,但不移除队列的头,如果队列为空则会抛出一个异常
		System.out.println(que.element());
		
		//检索并移除此队列的头,如果队列为空,则返回 null
		System.out.println(que.poll());
		
		//检索并移除此队列的头,如果队列为空,则会抛出一个异常
		System.out.println(que.remove());
		
		//打印队列元素
		System.out.println(que.toString());
		
		//打印队列元素
		while(!que.isEmpty()) {
			System.out.println(que.poll());
		}
		
	}

}

可根据需求自行封装方法。