java queue 实现类 区别_Java集合11 (Queue)
java.util.Queue接口是java.util.Collection子接口。
它代表一個(gè)有序的對象列表,就像List一樣,但是它的使用有略微的區(qū)別。
Queue被設(shè)計(jì)成從末端插入并且從頭部刪除的形式。
Queue的實(shí)現(xiàn)類
java.util.LinkedList
java.util.PriorityQueue
LinkedList是一個(gè)非常標(biāo)準(zhǔn)的隊(duì)列實(shí)現(xiàn)。
PriorityQueue保存數(shù)據(jù)默認(rèn)是根據(jù)內(nèi)部的自然排序,如果指定了Comparator比較器,
則會使用比較器進(jìn)行排序。
添加,訪問和刪除元素
添加元素使用繼承自Collection的add()方法。
Queue?queue?=?new?LinkedList();
queue.add("1");
queue.add("2");
queue.offer("3");
//?peek?=?1
Object?peek?=?queue.peak();
//?element?=?1
Object?element?=?queue.element();
//?poll?=?1
Object?poll?=?queue.poll();
//?remove?=?2
Object?remove?=?queue.remove();
peek()方法,返回當(dāng)前queue中的首元素但不刪除該元素,如果隊(duì)列為空則返回null。
element()方法與peek()方法類似,但是當(dāng)隊(duì)列為空時(shí)拋出異常。
poll()方法,返回并且刪除queue中首元素,隊(duì)列為空返回null。
remove()方法與poll()方法類似,但當(dāng)隊(duì)列為空時(shí)拋出異常。
add()與offer()方法都將再末尾添加一個(gè)元素。
Queue?queueA?=?new?LinkedList();
queueA.add("element?0");
queueA.add("element?1");
queueA.add("element?2");
//?使用?Iterator
Iterator?iterator?=?queueA.iterator();
while(iterator.hasNext(){
String?element?=?(String)?iterator.next();
}
//?使用?for-loop
for(Object?object?:?queueA)?{
String?element?=?(String)?object;
}
總結(jié)
以上是生活随笔為你收集整理的java queue 实现类 区别_Java集合11 (Queue)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 甘肃计算机教室中标,大单纷至沓来 甘肃百
- 下一篇: java美元兑换,(Java实现) 美元