日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序

發(fā)布時間:2024/9/30 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

二維數(shù)組自定義排序

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()轉(zhuǎn)換成listList<Map.Entry> list = new ArrayList<>(map.entrySet());//然后通過比較器來實現(xiàn)排序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排序:

PriorityQueue<int[]> queue = new PriorityQueue<int[]>(new Comparator<int[]>() {public int compare(int[] m, int[] n) {return m[1] - n[1];//這里寫自己希望的排序方式}});

總結(jié)

以上是生活随笔為你收集整理的对二维数组自定义排序、Treemap自定义排序、priorityqueue自定义排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。