简述
Queue 模拟的是队列的数据结构,是一种“先进先出的”容器,插入是插到队尾,访问是队头。通常情况是不允许随机访问队列中的元素。
常用方法:
- void add(Object e): 将指定元素加入此队列的尾部。
- Object element(): 获取队列头部的元素,但不删除该元素。
- boolean offer(Object e):跟add效果一样,但是当队列有容量时,此方法更好
- Object peek():获取头部元素,但是不删除该元素。队列为空时返回null
- Object poll():获取头部元素并删除元素,队列为空时返回null
- Object remove()获取队列头部元素,并删除该元素。
LinkedList实现类
它是一个List集合,但是LinkedList还实现了Deque接口,Deque是Queue接口的子接口,代表着双向队列,附带方法有:
- void addFrist(Object e):将元素插入开头
- void addLast(Object e):将元素插入结尾
- Iterator descendingIterator():逆向顺序迭代遍历元素
- Object getFrist():获取第一个元素
- Object getLast():获取最后一个元素
- boolean offerFrist():将元素插入开头
- boolean offerLast():将元素插入末尾
- Object peekFrist():获取第一个元素
- Object peekLast():获取最后一个元素
- Object pollFrist():获取并删除第一个元素
- Object pollLast():获取并删除最后一个元素
- Object pop(): 弹出栈中的第一个元素
- void push(Object e):压入一个元素
- Object removeFrist(): 获取并删除第一个元素
- Object removeFristOccurrence(Objcet o):删除第一次出现元素O
- Object removerLast():获取并删除最后一个元素
- Object removeLastOccurrence(Objcet o):删除最后一次出现元素O
PriorityQueue实现类
它是一个比较标准的实现类,因为其保存元素的顺序时按照大小重新排序的,因为不是”先进先出“这一规则