队列是一个典型的先进先出的容器,Java中LinkedList提供了方法以支持队列的行为,并且它实现了Queue接口,因此LinkedList可以用作Queue的一种实现。下面举例说明:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();//声明队列
        queue.offer(1);//添加数据
        queue.offer(2);
        printQueue(queue);
    }

    public static void printQueue(Queue queue) {
        while (queue.peek() != null) {//判断队列是否为空
            System.out.println(queue.poll());//输出队列中的元素
        }
    }
}

而对于PriorityQueue而言,它下一个弹出的元素是优先级最高的元素,当你使用它添加元素时这个对象会自动在队列中被排序,默认的排序将使用对象在队列中的自然排序,下面举例说明:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        PriorityQueue<Integer> queue = new PriorityQueue<>();//声明队列
        queue.offer(10);//添加数据
        queue.offer(9);
        queue.offer(8);
        printQueue(queue);
    }

    public static void printQueue(Queue queue) {
        while (queue.peek() != null) {//判断队列是否为空
            System.out.println(queue.poll());//输出队列中的元素
        }
    }
}

输出的结果为8,9,10

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐