Can anyone explain the syntax of the comparison Operator used here? What does it do
PriorityQueue<int[]> minHeap = new PriorityQueue<>(Comparator.comparingInt(a -> a[0]));
CodePudding user response:
The priority queue takes as input a single parameter keyExtractor which is the function used to extract the integer sort key.
In your case, it means that int[] arrays, which are stored in the priority queue will be sorted by their first element.
This means if you have a queue with arrays like this {[50,2,3],[1,1],[3,7]} they will be sorted like this {[1,1][3,7][50,2,3]} note the 1,3,50 sequence of the first elements, which are the sort keys
More details are available in this article
