zoukankan      html  css  js  c++  java
  • 队列Queue ,双端队列Deque

    package seday12;

    import java.util.LinkedList;
    import java.util.Queue;

    /**
    * @author xingsir
    * 队列可以保存一组元素,但是存取元素必须遵循先进先出。java.util.Queue 接口
    * Queue继承自Collection,队列定义了存取元素的相关方法。 常用实现类:java.util.LinkedList
    */
    public class QueueDemo {

    public static void main(String[] args) {
    Queue<String> queue=new LinkedList<>();
    //入队操作,将元素添加到队列末尾
    queue.offer("A");
    queue.offer("B");
    queue.offer("C");
    queue.offer("D");
    queue.offer("E");
    System.out.println(queue);//打印结果为 [A, B, C, D, E]


    String str2 =queue.peek();// peek 引用队首元素* 获取队首元素,但是不做删除操作
    System.out.println(str2);// 打印结果为:A
    System.out.println(queue);// 打印结果为:[A, B, C, D, E]

    String str1 =queue.poll();// poll 出队操作 获取并删除当前队列的队首元素
    System.out.println(str1);//结果:[A, B, C, D, E]
    System.err.println(queue);//[B, C, D, E]
    /*
    * 遍历队列,使用迭代器遍历后,元素还是在队列当中的。
    */
    for( String str3:queue) {
    System.out.println(str3);
    }
    System.out.println(queue);//打印 [B, C, D, E]
    }

    }

    //==================================================================================

    package seday12;

    import java.util.Deque;
    import java.util.LinkedList;

    /**
    * @author xingsir
    * java.util.Deque 双端队列
    * Deque继承自Queue, 双端队列是两端都可以进出队的队列。常用实现类:LinkedList
    */
    public class DequeDemo {

    public static void main(String[] args) {
    Deque<String> deque=new LinkedList<>();
    deque.offer("A");
    deque.offer("B");
    deque.offer("C");
    System.out.println(deque);//[A, B, C]

    deque.offerFirst("D");//从前面加入D
    System.out.println(deque);//[D, A, B, C]

    deque.offerLast("E");//后面加入E
    System.out.println(deque);//[D, A, B, C, E]

    String str = deque.poll();// poll 出队操作 获取并删除当前队列的队首元素
    System.out.println(str);//D
    System.out.println(deque);//打印[A, B, C, E]

    str = deque.pollFirst();// pollFirst 获取第一位并删除当前队列的队首元素
    System.out.println(str);//打印A
    System.out.println(deque);//打印[B, C, E]

    str = deque.pollLast();// poll 获取最后一位并删除当前队列的队首元素
    System.out.println(str);//打印E
    System.out.println(deque);//打印[B, C]
    }

    }

  • 相关阅读:
    linux socat创建简单的tun隧道
    【k8s】sc-nfs-pod
    c#中equals和==
    数据结构之哈希表
    数据结构之红黑树
    数据结构之2-3查找树
    数据结构之二叉查找树
    数据结构之递归与栈
    数据结构之二分查找法(折半查找)
    数据结构之基于无序链表的集合和映射
  • 原文地址:https://www.cnblogs.com/xingsir/p/12108537.html
Copyright © 2011-2022 走看看