This is straight from the Java Docs:
This class and its iterator implement all of the optional methods of the Collection and Iterator interfaces.
Because the underlying data structure doesn't support it. A binary heap is only partially ordered, with the smallest element at the root. When you remove that, the heap is reordered so that the next smallest element is at the root. There is no efficient ordered traversal algorithm so none is provided in Java.