Queue,List,Deque联系

如图所示,可以得出LinkedList既可以是双向链表也可以是双端队列,Deque接口继承了Queue接口

Queue

  • add(E):boolean 在队尾添加元素,添加成功返回true,如果队列已满无法添加则抛出异常。
  • offer(E):boolean 在队尾添加元素,添加成功返回true,如果队列已满无法添加则返回false
  • remove():E 删除队头元素,并返回删除的元素,如果队列为null抛出异常。
  • poll():E 删除队头元素,并返回删除的元素,如果队列为null返回null
  • element():E 获取队头元素,如果队列为null将抛出异常
  • peek():E 获取队头元素,如果队列为null将返回null

Deque

Deque<Integer> deque = new LinkedList<>();

  • addFirst(E):void 在队头添加元素。
  • addLast(E):void 在队尾添加元素。
  • offerFirst(E):boolean 在队头添加元素,并返回是否添加成功。
  • offerLast(E):boolean 在队尾添加元素,并返回是否添加成功。
  • removeFirst():E 删除队头元素,并返回删除的元素,如果队列为null,抛出异常。
  • removeLast():E 删除队尾元素,并返回删除的元素,如果队列为null,抛出异常。
  • pollFirst():E 删除队头元素,并返回删除的元素,如果队列为null,返回null。
  • pollLast():E 删除队尾元素,并返回删除的元素,如果队列为null,返回null。
  • getFirst():E 获取队头元素,如果队列为null将抛出异常。
  • getLast():E 获取队尾元素,如果队列为null将抛出异常。
  • peekFirst():E 获取队头元素,如果队列为null将返回null。
  • peekLast():E 获取队尾元素,如果队列为null将返回null
  • removeFirstOccurrence(Object):boolean 删除第一次出现的指定元素,并返回是否删除成功。
  • removeFirstOccurrence(Object):boolean 删除最后一次出现的指定元素,并返回是否删除成功。

List

创建方式:(可以实现双向链表和双端队列)
    LinkedList list = new LinkedList(); //双向链表的创建
    Deque<Integer> deque = new LinkedList<>(); //双端队列的创建
//队列方法:
list.add("A");  
list.add("B");  
list.add("C");  
list.add("D");  
list.addFirst("X");  //在头部添加元素
list.addLast("Z");  
System.out.println(list);  
list.removeFirst();  //移除元素
list.removeLast(); 
list.getFirst();  //获取元素
list.getLast(); 
list.isEmpty();

总结:队列queue.offer()和deque.offerLast()作用一样都是从后面添加元素,queue.poll()和deque.pollFirst()作用一样都是从前面删除元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值