当前位置:   article > 正文

Java 数据结构3:队列及Queue源码详解_java 池数据结构

java 池数据结构

队列

想栈一样,队列(queue)也是表。然而,使用队列时插入在一端进行而删除在另一端进行,遵循先进先出,后进后出原则,就像排队一样

应用

1、打印机队列

2、还有之前线程里面讲到的,线程池的实现,有有界的和无界的阻塞队列

Java中队列的实现

其中ArrayBlockQueue的源码,在并发的时候已经介绍过了,可以参考https://blog.csdn.net/qq_22798455/article/details/81636772

ConcurrentLinkedQueue参考

https://blog.csdn.net/qq_22798455/article/details/81637397

看一下优先级队列

public PriorityBlockingQueue() {
        this(DEFAULT_INITIAL_CAPACITY, null);
    }

    public PriorityBlockingQueue(int initialCapacity) {
        this(initialCapacity, null);
    }
//最终都是初始化这一个构造函数,通过一个Comparator来排列队列中的数据
public PriorityBlockingQueue(int initialCapacity,
                                 Comparator<? super E> comparator) {
        if (initialCapacity < 1)
            throw new IllegalArgumentException();
        this.lock = new ReentrantLock();
        this.notEmpty = lock.newCondition();
        this.comparator = comparator;
    //数组实现
        this<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/944714
推荐阅读
相关标签
  

闽ICP备14008679号