Java集合<11> (Queue)

java.util.Queue接口是java.util.Collection子接口。

它代表一个有序的对象列表,就像List一样,但是它的使用有略微的区别。

Queue被设计成从末端插入并且从头部删除的形式。

Queue的实现类

java.util.LinkedList

java.util.PriorityQueue

LinkedList是一个非常标准的队列实现。

PriorityQueue保存数据默认是根据内部的自然排序,如果指定了Comparator比较器,

则会使用比较器进行排序。

添加,访问和删除元素

添加元素使用继承自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()方法,返回当前queue中的首元素但不删除该元素,如果队列为空则返回null。

element()方法与peek()方法类似,但是当队列为空时抛出异常。

poll()方法,返回并且删除queue中首元素,队列为空返回null。

remove()方法与poll()方法类似,但当队列为空时抛出异常。

add()与offer()方法都将再末尾添加一个元素。

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;
}


你可能感兴趣的:(Java集合<11> (Queue))