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}