PriorityQueue
was added in Java 1.5
new PriorityQueue()
is enabled in Android, but
new PriorityQueue(new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return 0;
}
});
requires API 24. Why?
Because PriorityQueue(Comparator)
constructor was added to the SDK in API level 24. In JDK, that constructor was added in Java 8.
For compatibility with earlier API levels, you can use PriorityQueue(int,Comparator)
that has been there since API level 1.
That is because PriorityQueue in Java 1.5 does not have PriorityQueue (Comparator<? super E> comparator)
constructor at all. It was implemented only in Android SDK, and only in API 24.
You can use Java's PriorityQueue (int initialCapacity, Comparator<? super E> comparator)
constructor from Android API 1
来源:https://stackoverflow.com/questions/47301031/why-priorityqueue-requires-api-24-in-android