mapjava排序
㈠ java map 先後順序
通過map中的LinkedHashMap實現就可以。
HashMap<String,String> headers = new LinkedHashMap<String,String>();//創建一個map
headers.put("Cache-Control", "no-cache");//給map賦第一個值
headers.put("Connection", "close");//給map賦第二個值
Set keys1 = headers.keySet();//獲取所有的key值
System.out.println(keys1);
結果:[Cache-Control,Connection];//結果就是先進先出
備註:以上HashMap就是先定義了存放的key和value值都是字元串類型,之後可以通過get方法獲取到對應的值(如:headers.get("Cache-Control"),結果就是」no-cache「);
㈡ Java的map能不能排序
官方jdk裡面提供的map介面實現類基本是不能用來排序的,sortmap或者treemap排序是可以的,但是比較復雜,效率也成問題,所以不常使用.
如果一定要能排序的map,可以自己寫一個map的實現類.
現成的代碼通過簡訊給你.
㈢ java map,怎麼保證順序
java map 是一個介面,其有個子介面是SortedMap,進一步提供關於鍵的總體排序 的 Map。該映射是根據其鍵的自然順序進行排序的,或者根據通常在創建有序映射時提供的 Comparator 進行排序。對有序映射的 collection 視圖(由 entrySet、keySet 和 values 方法返回)進行迭代時,此順序就會反映出來。要採用此排序方式,還需要提供一些其他操作(此介面是 SortedSet 的對應映射)。
LinkedHashMap 維護著一個運行於所有條目的雙重鏈接列表。此鏈接列表定義了迭代順序,該迭代順序通常就是將鍵插入到映射中的順序(插入順序)。
㈣ Java中 map集合能排序嗎
可以的,Java中的map ,list ,set 三個凱液之間都是可以相互的轉換的! 舉個例子:map 轉換成List 後就可以排序了~ public class test { public static void main(String[] args) { Map<String,String> maps = new HashMap<String,String>(); maps.put("1", "one"); maps.put("2", "two"); maps.put("3", "three"薯李); List list = mapTransitionList(maps); for(int i=0; i<list.size(); i++) { System.out.println(list.get(i));}}private static List mapTransitionList(Map<String, String> maps) { List list = new ArrayList(); Iterator iter = maps.entrySet().iterator(); //數孫遲獲得map的Iterator while(iter.hasNext()) {
㈤ 如何對Map進行字典排序Java
//根據 Map的key進行字典排序
Map<String, String> parameterMap = new HashMap<String, String>();
List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(parameterMap.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
//升序排序
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
㈥ java map 排序 取數
public class SortTest
{
public static void main(String[] args)
{
List<Map.Entry<String,String>> mappingList = null;
Map<String,String>碼枯歲 map = new HashMap<String,String>敗老();
map.put("month", "1");
map.put("bread", "3");
map.put("attack", "2");
map.put("dsk", "2");
/遲睜/通過ArrayList構造函數把map.entrySet()轉換成list
mappingList = new ArrayList<Map.Entry<String,String>>(map.entrySet());
//通過比較器實現比較排序
Collections.sort(mappingList, new Comparator<Map.Entry<String,String>>(){
public int compare(Map.Entry<String,String> mapping1,Map.Entry<String,String> mapping2){
return mapping2.getValue().compareTo(mapping1.getValue());
}
});
for(Map.Entry<String,String> mapping:mappingList){
System.out.println(mapping.getKey()+":"+mapping.getValue());
}
}
}
㈦ java如何對map集合進行值valuie的倒排序,出現值相同的再健key的倒排序,最後keyvalue組合輸出
public static void main(String[] args) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
map.put(1, 11);
map.put(2, 44);
map.put(3, 55);
map.put(4, 21);
map.put(5, 33);
map.put(6, 11);
//這里將map.entrySet()轉換禪纖成list
List<Map.Entry<Integer,Integer>> list = new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
//然後賀鎮仿通過比較器來實現排序
Collections.sort(list,new Comparator<Map.Entry<Integer,Integer>>() {
//升序排序
public int compare(Entry<Integer, Integer> o1,Entry<旅灶Integer, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for(Map.Entry<Integer,Integer> mapping:list){
System.out.println(mapping.getKey()+":"+mapping.getValue());
}
}
這是根據value的值排序的,你也可以泛型成Map<String,String>一樣的 希望能幫到你!
㈧ Java中 map集合能排序嗎
Java中的Map默認是對元素不排序的,但是Map的實現類TreeMap能夠把它保存的記錄根據key排序,默認是按升序排序。如果我們想要改變排序方式,則需要使用比較器:Comparator。