首先,几个相关的类,Map、HashMap、HashTable、LinkedHashMap、TreeMap。区别: 点击打开链接
其次,如何将Map类中的数据,按value排序。例子:
package sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
public class CollSort {
public static void main(String[] args){
String sdf1 = new String("2015-01-11 1:01:02");
String sdf2 = new String("2015-01-11 1:01:03");
String sdf3 = new String("2015-01-11 1:01:12");
Map<String, String> map = new HashMap<String, String>();
map.put("a", sdf3);
map.put("b", sdf1);
map.put("c", sdf3);
map.put("d", sdf2);
ArrayList<Map.Entry<String, String>> infoIds =
new ArrayList<Map.Entry<String, String>>(map.entrySet());
//排序前
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.println(id);
}
//a=2015-01-11 1:01:12
//b=2015-01-11 1:01:02
//c=2015-01-11 1:01:12
//d=2015-01-11 1:01:03
System.out.println('\n');
//排序
Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
//return (o2.getValue() - o1.getValue());
return (o1.getValue()).compareTo(o2.getValue());
}
});
//排序后
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.println(id);
}
//b=2015-01-11 1:01:02
//d=2015-01-11 1:01:03
//a=2015-01-11 1:01:12
//c=2015-01-11 1:01:12
}
}