====== Wishlist ====== This is a collection of things I'd like from Java. Many other languages, runtimes, and libraries have made improvements that I think would help the Java ecosystem. === PriorityQueue === == PriorityQueue Reprioritize Items == Go allows modifying the priority of an item in a PriorityQueue. Java's doesn't allow this in an efficient manner. Instead, you need to remove the item (linear time), and re-enqueue it. === BlockingQueue === == ArrayBlockingQueue External Synchronization == ArrayBlockingQueue doesn't expose its lock, making it hard to extend. It becomes challenging to move items around in a sub class.