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

java 对集合的排序问题

2012-09-21 18:43 330 查看
1.对List<String> list排序操作


Collections.sort(list,new Comparator<String>(){
public int compare(String o1, String o2){
//升序
return o1.compareToIgnoreCase(o2);
}
});


2.对map排序

Map<String,String> mapTenants = new TreeMap<String,String>(new Comparator<String>(){
public int compare(String obj1,String obj2){
return obj1.compareToIgnoreCase(obj2);
}
});


3.对List<map<String,String>排序操作

public static void main(String[] args){
/**
* @param args
*/

Map<String,String> map1 = new HashMap<String, String>();
map1.put("operationTime", "2010-01-10 12:20:00");
map1.put("value", "2010-01-10 12:20:01");

Map<String,String> map2 = new HashMap<String, String>();
map2.put("operationTime", "2010-01-10 12:40:00");
map2.put("value", "2010-01-10 12:20:01");

Map<String,String> map3 = new HashMap<String, String>();
map3.put("operationTime", "2010-01-10 12:30:00");
map3.put("value", "2010-01-10 12:20:01");

List<Map<String,String>> list = new ArrayList<Map<String,String>>();
list.add(map1);
list.add(map2);
list.add(map3);

System.out.println("排序前的list:");
System.out.println(list);

final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Collections.sort(list, new Comparator<Map<String,String>>(){

public int compare(Map<String, String> o1, Map<String, String> o2)
{
//取出操作时间
int ret = 0;
try
{
ret = df.parse(o1.get("operationTime")).compareTo(df.parse(o2.get("operationTime")));
} catch (Exception e)
{
throw new RuntimeException(e);
}
return  ret;
}

});

System.out.println("排序后的list:");
System.out.println(list);
}


4.对象

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