Hi Robin,

This belongs in core-libs.

On 24/05/2023 16:50, Robin Gong wrote:
Hi,

Recently, I found this constructor in PriorityBlockingQueue:

      public PriorityBlockingQueue(int initialCapacity,
                                     Comparator<? super E> comparator) {
            if (initialCapacity < 1)
                throw new IllegalArgumentException();
            this.comparator = comparator;
            this.queue = new Object[Math.max(1, initialCapacity)];
        }


I believe we could change 'Math.max(1, initialCapacity)' to 'initialCapacity'. Since initialCapacity must be greater or equal to 1.

It looks reasonable to me.

--
Regards,
Alexey


And also that's how PriorityQueue running.

      public PriorityQueue(int initialCapacity,
                             Comparator<? super E> comparator) {
            // Note: This restriction of at least one is not actually
    needed,
            // but continues for 1.5 compatibility
            if (initialCapacity < 1)
                throw new IllegalArgumentException();
            this.queue = new Object[initialCapacity];
            this.comparator = comparator;
        }


Best regarts,
Robin Gong

Reply via email to