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