您的位置:首页 > 编程语言 > Java开发

Java对map进行排序(包括按键和值)

2015-09-22 20:33 555 查看
package com.xin.demo;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.TreeMap;

public class PaixvMap {

public static void main(String[] args) {
Map<String, String> map = new TreeMap<String, String>(

//注释部分为按key排序,倒序,-----未注释部分为按值排序
/*  new Comparator<String>() {
public int compare(String obj1,String obj2) {
return obj2.compareTo(obj1);
}
}
*/
);
map.put("1", "111");
map.put("5", "151");
map.put("3", "131");
map.put("4", "141");
map.put("2", "121");
map.put("6", "111");

List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(map.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String, String>>() {
public int compare(Entry<String, String> o1,Entry<String, String> o2) {

return o1.getValue().compareTo(o2.getValue());
}
});

for (Entry<String, String> entry : list) {
System.out.println(entry.getKey()+"---"+entry.getValue());
}

/*  Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()){
String k =   (String) iterator.next();
System.out.println(k+"--"+map.get(k));
}
*/
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java