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

Java常用集合排序

2017-08-08 16:11 141 查看

1、list排序

List<String> list = new ArrayList<String>(Arrays.asList("Clinton","Bush", "Trump", "Plata"));
//可以控制是升序还是降序
Collections.sort(list, new Comparator<String>()   {
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
//Collections.sort(list);
结果:[Bush, Clinton, Plata, Trump]

2、数组排序

String[] arr = new String[]{"Clinton", "Bush", "Trump", "Plata"};
Arrays.sort(arr, new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
//Arrays.sort(arr);


3、用TreeSet对set排序

Set<String> set = new HashSet<String>(){{add("Clinton"); add("Bush"); add("Trump"); add("Plata");}};
Set<String> sortedSet = new TreeSet<String>(new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
sortedSet.addAll(set);


4、用TreeMap对map排序

(1)、

Map<String, Integer> map = new HashMap<>();
map.put("Clinton",1995);
map.put("Bush",2000);
map.put("Trump",2016);
map.put("Plata",2005);
Map<String, Integer> sortedMap = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
sortedMap.putAll(map);
结果:{Bush=2000, Clinton=1995, Plata=2005, Trump=2016}

(2)、

Map<String, Integer> map = new HashMap<>();
map.put("Clinton",1995);
map.put("Trump",2016);
map.put("Plata",2005);
map.put("Bush",2000);
Map<String, Integer> sortedMap = new TreeMap<String, Integer>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
sortedMap.putAll(map);
结果:{Bush=2000, Clinton=1995, Plata=2005, Trump=2016}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: