Queue 队列- Deque 双端队列 栈结构 初识

java.util.Queue 队列接口
Queue继承自Collection,所以队列本身也是一种集合。队列可以保存一组元素,但是特点是存取元素必须遵循先进先出原则。
常用实现类:java.util.LinkedList
 Queue<String> queue = new LinkedList<>();
       //offer方法:入队操作,元素会被追加到队列末尾
        queue.offer("one");
        queue.offer("two");
        queue.offer("three");
        queue.offer("four");
        queue.offer("five");
        System.out.println(queue);
       //poll方法:出队操作,获取队首元素后该元素从队列中被删除
        String str = queue.poll();
        System.out.println(str);
        System.out.println(queue);
        // peek方法:引用队首元素,获取后该元素仍然在队列中
        str = queue.peek();
        System.out.println(str);
        System.out.println(queue);
        //遍历队列,遍历并不影响元素在队列中。
        for(String s :queue){
            System.out.println(s);
        }
        System.out.println(queue);
       ///使用poll方法遍历
        while(queue.size()>0){
            str = queue.poll();
            System.out.println(str);
        }

双端队列接口:java.util.Deque
Deque继承自Queue,特点是队列两端都可以做出入队操作。
常用实现类:java.util.LinkedList
 Deque<String> deque = new LinkedList<>();
        deque.offer("one");
        deque.offer("two");
        deque.offer("three");
        deque.offer("four");
        System.out.println(deque);
        从队首方向入队
        deque.offerFirst("five");
        System.out.println(deque);
        从队尾方向入队,与offer一致
        deque.offerLast("six");
        System.out.println(deque);

        String str = deque.poll();
        System.out.println(str);
        System.out.println(deque);

        str = deque.pollFirst();
        System.out.println(str);
        System.out.println(deque);

        str = deque.pollLast();
        System.out.println(str);
        System.out.println(deque);
栈结构
栈可以保存一组元素,但是存取元素必须遵循先进后出原则。通常使用栈结构完成"后退"这样的功能使用。

Deque双端队列如果从同一侧做出入队操作就实现了栈结构,因此Deque也为栈提供它出入栈的经典方法:push,pop
 Deque<String> stack = new LinkedList<>();
        stack.push("one");
        stack.push("two");
        stack.push("three");
        stack.push("four");
        stack.push("five");
        System.out.println(stack);

        String str = stack.pop();
        System.out.println(str);
        System.out.println(stack);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值