On Wed, 3 Jan 2024 20:36:46 GMT, jmehrens <d...@openjdk.org> wrote:

> > I think this ticket should focus on adding the new constructor as part of 
> > the API.
> 
> Okay. I would think the code would avoid heapify when the caller does foolish 
> things with this API such as:
> 
> ```
> SortedSet ss = filledSortedSet();
> PriorityQueue pq1 = new PriorityQueue(ss.comparator(), ss);
> 
> PriorityQueue pq = filledPriorityQueue();
> PriorityQueue pq2 = new PriorityQueue(pq.comparator(), pq);
> ```
> 
> I assume this constructor is going to be added to TreeSet, 
> PriorityBlockingQueue, and ConcurrentSkipListSet?

why do you think the code would avoid heapify? `initFromCollection` method will 
be called regardless of the type of the collection passed, which will heapify 
the queue.

regarding adding the constructor to the other types mentioned, I believe I can 
be done, probably as part of a different ticket.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17045#issuecomment-1877175607

Reply via email to