对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序
生活随笔
收集整理的這篇文章主要介紹了
对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二維數組自定義排序
Arrays.sort(intervals,new Comparator<int[]>() { @Override public int compare(int[]a,int[]b) {return a[0]==b[0]?b[1]-a[1]:a[0]-b[0]; } });Treemap自定義排序
Map map = new TreeMap();map.put("a", "ddddd");map.put("c", "bbbbb");map.put("d", "aaaaa");map.put("b", "ccccc");//這里將map.entrySet()轉換成listList<Map.Entry> list = new ArrayList<>(map.entrySet());//然后通過比較器來實現排序Collections.sort(list,new Comparator<>() {//升序排序public int compare(Map.Entry o1, Map.Entry o2) {return o1.getValue().compareTo(o2.getValue());//對值進行排序}});for(Map.Entry mapping:list){System.out.println(mapping.getKey()+":"+mapping.getValue());}priorityqueue自定義排序
兩種方式:可以對自己的定義的對象先重寫Comparable接口然后自己寫排序方式
class Status implements Comparable<Status> {int val;ListNode ptr;public Status(int val,ListNode ptr){this.val=val;this.ptr=ptr;}public int compareTo(Status s2){ return ptr.val-s2.val;}}PriorityQueue<Status>queue=new PriorityQueue<Status>();public ListNode mergeKLists(ListNode[] lists) { for(ListNode node:lists) if (node != null) { queue.offer(new Status(node.val,node)); }方式二:
對priorityqueue排序:
總結
以上是生活随笔為你收集整理的对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】rabbitmq设置队列tt
- 下一篇: 阿里云文件上传工具类