Sounds very reasonable.
________________________________
From: core-libs-dev <core-libs-dev-r...@openjdk.org> on behalf of Aleksei 
Ivanov <alexey.iva...@oracle.com>
Sent: Wednesday, 24 May 2023 20:03
To: Robin Gong <irobing...@gmail.com>; core-libs <core-libs-dev@openjdk.org>
Subject: Re: Remove unnecessary method call in PriorityBlockingQueue

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