Queue接口:数据结构为队列,是一种先进先出的线性数据结构(排队);
LinkedList类实现了queue接口;
队列有:请求队列,消息队列,任务队列等;
private static void Queue(){Queue queue=new LinkedList<>();//1.将指定元素插入此队列(不违反容量限制);成功为true,若无空间抛出异常;queue.add("佳佳");queue.add("贝贝");queue.add("欢欢");//2.获取但不移除此队列的头;System.out.println(queue.element());//3.插入指定元素,当使用有容量限制的队列时,该方法优于add();queue.offer("莹莹");//4.获取但不移除此队列的头,若队列为空,返回null;System.out.println(queue.peek());//5.获取并移除此队列的头,若队列为空返回null;System.out.println(queue.poll());//6.获取并移除此队列的头;queue.remove();
}
Deque:一个线性Collection,支持在两端插入和移除元素;
此接口既支持有容量限制的双端队列,也支持无限制的双端队列;
代码演示:
private static void Deque(){Deque deque=new LinkedList<>();deque.add("小花");deque.add("小草");deque.add("小叶");//获取头部元素和结尾元素System.out.println(deque.getFirst());System.out.println(deque.getLast());//删除头部元素和结尾元素System.out.println(deque.pollFirst());System.out.println(deque.pollLast());
}
本章对Java中的Queue接口和Deque进行了概述及代码演示,用的不多,但是结合业务可以选择性使用;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!