首页 > 编程语言 > 详细

Java Stack,Queue,PriorityQueue,deque相关操作

时间:2020-03-22 22:54:47      阅读:74      评论:0      收藏:0      [点我收藏+]

Stack

创建:Stack stack = new Stack<>();

boolean empty():判断栈是否为空
E peek():返回栈顶对象,不移除
E pop():返回栈顶对象,并移除
E push(E item):压入栈顶
int search(Object o):返回对象在栈的位置;search返回的位置是从栈顶开始计数,栈顶为1,而不在栈中的元素返回-1

Queue

创建:Queue queue = new LinkedList<>();

boolean add(E e):向队列中添加元素
E element():返回队列的头,且不移除
E remove():返回队列的头,且移除
boolean offer(E e):向队列中添加元素
E peek():返回队列的头,且不移除
E poll():返回队列的头,且移除

add、element、remove会在操作失败时抛出异常,而offer、peek、poll在操作失败时返回特殊值。

PriorityQueue

peek()//返回队首元素
poll()//返回队首元素,队首元素出队列
add()//添加元素
size()//返回队列元素个数
isEmpty()//判断队列是否为空,为空返回true,不空返回false

默认是小顶堆,可添加Comparator改变成大顶堆

        Queue<Integer> q1 = new PriorityQueue<>();//小顶堆
        //大顶堆
        Queue<Integer> q = new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer t1, Integer t2) {
                if (t1 > t2)
                    return -1;
                else
                    return 1;
            }
        });

deque

双端队列。创建:Deque deque = new LinkedList()
技术分享图片

Java Stack,Queue,PriorityQueue,deque相关操作

原文:https://www.cnblogs.com/xym4869/p/12548857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!