Java集合4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:
作者:陈剑波
撰写时间:2019年06月18日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Queue 队列
- 队列中的元素遵循“先进先出”( First In First Out)的原则,简称FIFO数据结构。
- 它只允许在队尾添加元素,在队头删除元素。队列中最先插入的元素将最先被删除,对应的最后插入的元素将最后被删除。
- Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList类实现了Queue接口,因此可以用作Queue。
示例代码:
import java.util.Iterator; |
import java.util.LinkedList; |
import java.util.Queue; |
|
public class QueueDemo { |
public static void main(String[] args) { |
Queue<String> queue = new LinkedList<String>(); |
//add(E e):将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成 功时返回 true, |
//如果当前没有可用的空间,则抛出 IllegalStateException。 |
queue.add("kal"); |
queue.add("dae"); |
queue.offer("bul");//offer(E e):将指定的元素插入此队列(如果立即可行且不会违反容量限制) |
queue.offer("fuo"); |
queue.offer("he"); |
queue.offer("kab"); |
queue.offer("gul"); |
queue.offer("ful"); |
//尽量使用offer()方法添加元素,使用poll()方法移除元素。 |
//add()和remove()方法在失败的时候会抛出异常。 |
System.out.println(queue); |
// element():获取队列的头,但是不移除此队列的头。 |
System.out.println(queue.element());//返回第一个元素 |
// peek():获取队列的头但不移除此队列的头;如果此队列为空,则返回 null。 |
System.out.println(queue.peek());//返回第一个元素 |
// poll():获取队列的头并移除此队列的头,如果此队列为空,则返回 null。 |
System.out.println(queue.poll()); |
System.out.println(queue); |
// remove():获取队列的头并移除此队列的头。 |
System.out.println(queue.remove()); |
System.out.println(queue); |
//判断queue是否为空 |
System.out.println("判断queue是否为空:"+queue.isEmpty()); |
//获取queue的大小 |
System.out.println("获取queue的大小:"+queue.size()); |
//使用简单的for-each循环迭代队列。 |
for (String string : queue) { |
System.out.print(string+"\t"); |
} |
System.out.println(); |
//使用iterator()迭代队列。 |
Iterator<String> iterator = queue.iterator(); |
while (iterator.hasNext()) { |
String string = (String) iterator.next(); |
System.out.print(string+" "); |
} |
} |
} |
运行结果:
[kal, dae, bul, fuo, he, kab, gul, ful] |
kal |
kal |
kal |
[dae, bul, fuo, he, kab, gul, ful] |
dae |
[bul, fuo, he, kab, gul, ful] |
判断queue是否为空:false |
获取queue的大小:6 |
bul fuo he kab gul ful |
bul fuo he kab gul ful |