java队列入门解析

TheDisguiser 2020-08-26 16:59:17 java常见问答 7007

队列小伙伴们知道吗?在项目实际操作中不知道队列可是不行的,下面跟着小编来了解下吧。

队列实际是一种特殊的线性表,它只允许在表的前端进行删除操作,在表的后端进行插入操作。其中Queue接口与List、Set是同一级别的,都继承自Collection接口。LinkedList实现了Queue接口,所以我们可以把LinkedList当成Queue来用。Queue接口窄化了对LinkedList的方法的访问权限,意思就是,在方法中的参数类型如果是Queue时,就只能够访问Queue接口所定义方法,而不能直接访问 LinkedList的非Queue的方法。

实例:

import java.util.LinkedList;
import java.util.Queue;
public class Main
{
    public static void main(String[] args)
    {
        //add()和remove()方法在失败的时候会抛出异常(不推荐)
        Queue < String > queue = new LinkedList < String > ();
        //添加元素
        queue.offer("a");
        queue.offer("b");
        queue.offer("c");
        queue.offer("d");
        queue.offer("e");
        for (String q: queue)
        {
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("poll=" + queue.poll()); //返回第一个元素,并在队列中删除
        for (String q: queue)
        {
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("element=" + queue.element()); //返回第一个元素 
        for (String q: queue)
        {
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("peek=" + queue.peek()); //返回第一个元素 
        for (String q: queue)
        {
            System.out.println(q);
        }
    }
}

结果:

a
b
c
d
e
    ===
    poll = a
b
c
d
e
    ===
    element = b
b
c
d
e
    ===
    peek = b
b
c
d
e

以上就是本篇文章的所有内容,更多java基础知识敬请关注奇Q工具网了解详情。

推荐阅读:

java队列有哪些?队列如何实现执行任务?

java队列方法有哪些?什么是循环队列?

java队列实现方式实例展示,什么是阻塞队列?