队列与栈(Queue,Deque,Stack)

队列与栈(Queue,Deque,Stack)

队列(Queue)是一种特殊的线性表,是一种先进先出的数据结构,它只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头,队列中没有元素时,称为空队列,是一种先进先出的线性数据结构, LinkedList类实现了queue接口

 private static void queue() {
        Queue<String> queue = new LinkedList<>();
        queue.add("小花");
        queue.add("小小");
        queue.add("小丽");
        // 队列的长度
        System.out.println(queue.size());
        // 获取但不移除队列的头,队列为空,返回null
        System.out.println(queue.peek());
        System.out.println(queue.size());
        // 获取并移除此队列的头,队列为空,返回null
        System.out.println(queue.poll());
        System.out.println(queue.size());
    }

Deque:一个线性的collecton,支持在两端插入和移除元素。此接口既支持有容量限制的双端队列,也支持没有固定大小的双端队列,接口定义在双端队列两端访问元素的方法,提供插入、移除、删除和检查元素的方法,是一个双端队列

    private static void deque() {
        Deque<String> deque = new LinkedList<>();
        deque.add("小花");
        deque.add("小小");
        deque.add("小丽");
        // 可以从两边来取
        System.out.println(deque.getFirst());
        System.out.println(deque.getLast());
    }

Stack类代表先进后出的堆栈

 private static void stack() {
        Stack<String> s = new Stack<>();
        s.push("bin");
        s.push("tom");
        s.push("lili");
        // 不移除
        System.out.println(s.peek());
        //移除
        System.out.println(s.pop());
        System.out.println(s.pop());
    }

posted @   JamieChyi  阅读(18)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示