Java学习笔记——Collection之Queue

目录

一、Queue

二、Deque

(一)LinkedList

(二) ArrayDeque

(三)PriorityQueue

(四)常见方法的区别

三、代码

1、Queue

2、Deque

3、PriorityQueue


Queue与List、Set接口并列的Collection的三大接口之一,是一种常见的数据结构,遵循先进先出的原则。

一、Queue

Queue是队列,只能一头进,另一头出。其可由LinkedList实现。

其常见方法:

  • poll():将队首的元素删除,并返回该元素。
  • peek():返回队首的元素,但不进行删除操作。
  • offer():将元素添加到队尾,如果成功,则返回true。

二、Deque

Deque 是JDK 1.6出来的一个新接口,它是一个双端队列接口,继承自Queue接口,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。

(一)LinkedList

双端队列可使用LinkedList实现,代码实例:

// 队列的创建
Queue<String> queue = new LinkedList<>();

// 添加元素
System.out.println("------offer():添加元素------");
queue.offer("Java");
queue.offer("Python");
queue.offer("C");
queue.offer("PHP");
System.out.println(queue);

// 删除元素
System.out.println("------poll(): 删除元素------");
System.out.println("删除的元素: " + queue.poll());
System.out.println(queue);

// 访问元素
System.out.println("------peek(): 访问元素------");
System.out.println("访问的元素: " + queue.peek());
System.out.println(queue);

// 遍历
System.out.println("------遍历------");
for (String q: queue){
    System.out.println(q);
}
------offer():添加元素------
[Java, Python, C, PHP]
------poll(): 删除元素------
删除的元素: Java
[Python, C, PHP]
------peek(): 访问元素------
访问的元素: Python
[Python, C, PHP]
------遍历------
Python
C
PHP

(二) ArrayDeque

双端队列也可使用ArrayDeque实现,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值