Java算法技巧——队列

Queue

PriorityQueue(优先队列)

// 默认小值先出队,如果需要大值先出队,则重写比较函数,如下
// 自定义类,则必须重写比较函数,升序大值优先,降序小值优先
Queue<Integer> queue = new PriorityQueue<>(10, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        if (o1 < o2) return 1;
        if (o1 > o2) return -1;
        return 0;
    }
});
queue.add(5);
queue.add(3);
queue.offer(4); // 推荐使用offer而非add,poll而非remove,成否与否返回布尔值,不会抛异常
queue.peek(); // => 5,取栈顶元素
queue.poll(); // => 5,出队并返回栈顶元素
gzdaijie            updated 2016-06-07 13:42:12

results matching ""

    No results matching ""