map按key和value排序

2021-06-28 03:14:22 字數 866 閱讀 5934

#map集合按照key和value排序

##按value排序

利用集合中的entry封裝,然後利用內部函式描述比較過程,這裡有兩種方式,可以發現其中的o1和o2表示map中的值,o1其實是偏大的那乙個,然後返回的時候其實是將較大的放在後面。

mapmap = new treemap();

map.put("b", 1);

map.put("a", 2);

map.put("c", 3);

system.out.println("排序前:" + map);

list> list = new arraylist>(

map.entryset());

/** for(int i = 0;i < list.size();i ++)

*/collections.sort(list, new comparator>()

else if(o1.getvalue() < o2.getvalue())

return 0;

*///return o1.getvalue() - o2.getvalue();//順序按value排列

}});

system.out.println("排序後:");

for (int i = 0; i < list.size(); i++)

}

##按key排序

和上面一樣,只不過在內部類中需要有乙個compareto函式

只要將上面的return o1.getvalue() - o2.getvalue();改為return (01.getkey().tostring().compareto(02.getkey().tostring()));

map按key和按value排序

看乙個題 查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 ...

Map排序(按key排序,按value排序)

主要分兩種,按鍵排序 按值排序。而且,按key排序主要用於treemap,而按value排序則對於map的子類們都適用。按key排序主要用於treemap,可以實現按照key值的大小,在物件插入時直接插入到合適的位置,保持map的順序性。來看treemap的建構函式 treemap comparat...

map 按key排序VS按value排序

最近在pat刷題,其中一道題月餅 25 需要用到對 進行排序,但是排序後要用到 對應的總售價。因而可以考慮用關聯容器進行求解,map是比較合適這題的資料結構。map是用來存放鍵值對的資料結構,可以很方便快速的根據key查到相應的value。關於map的詳細定義及用法可以見c stl之map學習。假如...