Java之队列queue
Queue接口与List、set都是继承collection。Queue是一种数据结构,它有两个基本操作:在队列尾部插入一个元素,在队列头部移除一个元素,也就是先进先出原则。
队列常用的API:
add:增加一个元素。如果队列已满,则抛出一个IllegalSlabEepeplian异常。
remove:移除并返回队列头部的元素,如果队列为空,则抛出一个NoSuchElementException异常。
offer: 添加一个元素并返回true,如果队列已满,则返回false。
poll:移除并返问队列头部的元素,如果队列为空,则返回null。
element:返回队列头部的元素,如果队列为空,则抛出一个NoSuchElementException异常。
举个小例子:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
list.add("a");
Queue<Integer> queue = new LinkedList<>();
//add or offer都是往队列尾部插入元素,不同的是,当超出队列限界的时候,add是抛出异常让你处理
queue.add(1);
queue.offer(2);
queue.offer(3);
queue.offer(4);
queue.offer(4);
queue.forEach(integer -> System.out.println(integer));
System.out.println("=====element==="+queue.element());
System.out.println("=====peek==="+queue.peek());
System.out.println("=====remove==="+queue.remove());
queue.forEach(integer -> System.out.println(integer));
}