• Java Queue 使用范例


    import java.util.LinkedList;
    import java.util.Queue;
    import java.util.Random;
    
    public class QueueDemo {
        public static void printQ(Queue queue) {
            while (queue.peek() != null) // 在不移除的情况下返回队头,队列为空时返回 null
                System.out.print(queue.remove() + " "); // 移除并返回队头
            System.out.println();
        }
    
        public static void main(String[] args) {
            Queue<Integer> queue = new LinkedList<>();
            Random rand = new Random(47);
            for (int i = 0; i < 10; i++)
                queue.offer(rand.nextInt(i + 10)); // 将一个元素插入到队尾,或者返回 false,这里自动包装机制会自动将 nextInt() 方法的 int 结果转换为 queue 所需的 Integer 对象
            printQ(queue);
            Queue<Character> qc = new LinkedList<>();
            for (char c : "Brontosaurus".toCharArray())
                qc.offer(c);
            printQ(qc);
        }
    }
    

    输出:

    image-20201223222111496

    API 方法说明:

    offer() 方法是 Queue 相关的方法之一,它在允许的情况下,将一个元素插入到队尾,或者返回 false。

    peek()element() 方法都将在不移除的情况下返回队头,但是 peek() 方法在队列为空时返回 null,而 element() 会抛出 NoSuchElementException 异常。

    poll()remove() 方法将移除并返回队头,但是 poll() 在队列为空时返回 null,而 remove() 会抛出 NosuchElementException 异常。

  • 相关阅读:
    一个日期Js文件。 2013年10月12日 星期六 癸巳年九月初八
    【Cocosd2d实例教程二】地图编辑器Tiled的安装使用
    结构体快排qsort()
    Crypto API加密通信流程
    LA 4255 Guess
    hdu1005 Number Sequence(数论)
    c++异常 连续抛出异常
    IMP导入数据 报错 IMP-00058 ORA-01691 IMP-00028
    Groovy/Spock 测试导论
    Groovy 与 DSL
  • 原文地址:https://www.cnblogs.com/fanlumaster/p/14181846.html
Copyright © 2020-2023  润新知