1、自定义排序html
Collections.sort的两种用法,简单明了 :java
http://blog.csdn.net/janronehoo/article/details/8746447数组
http://www.cnblogs.com/liuyuanyuanGOGO/p/java_collections.htmlide
Collections.sort(station,(a,b)->{
return a.getStationNo() - b.getStationNo();
});spa
Collections.sort(names, (String a, String b) -> { return b.compareTo(a); });
Java8:Lambda表达式加强版Comparator和排序:.net
http://www.importnew.com/15259.htmlcode
一、数组排序:htm
String[] players = {"d","a","c","b"}; System.out.print("排序前: "); for(String s : players){ System.out.print(s.concat(" "));//排序前,players: d a c b } // Arrays.sort(players, new Comparator<String>() { // @Override // public int compare(String s1, String s2) { // return (s1.compareTo(s2)); // } // }); Arrays.sort(players, (String s1, String s2) -> (s1.compareTo(s2)));//jdk1.8 System.out.println(); System.out.print("排序后: "); for(String s : players){ System.out.print(s.concat(" "));//排序后,players: a b c d }
二、集合排序:blog
List<String> players = new ArrayList<>(); players.add("d"); players.add("c"); players.add("a"); players.add("b"); System.out.println("排序前: " + players);//排序前,players: d c a b // Collections.sort(players, new Comparator<String>() { // @Override // public int compare(String s1, String s2) { // return (s1.compareTo(s2)); // } // }); Collections.sort(players, (String s1, String s2) -> (s1.compareTo(s2)));//jdk1.8 System.out.println("排序后: " + players);//排序后,players: a b c d
List<String> players = new ArrayList<>(); players.add("4"); players.add("3"); players.add("1"); players.add("2"); System.out.println("排序前: " + players);//排序前,players: d c a b //Collections.sort(players, new Comparator<String>() { //@Override // public int compare(String s1, String s2) { // return (s1.compareTo(s2)); //} //}); //Collections.sort(players, (String s1, String s2) -> (s1.compareTo(s2)));//jdk1.8 //Collections.sort(players, (String s1, String s2) -> ( Integer.valueOf(s2) - Integer.valueOf(s1)));//jdk1.8 players.sort((String s1, String s2) -> ( Integer.valueOf(s2) - Integer.valueOf(s1)));//jdk1.8 System.out.println("排序后: " + players);//排序后,players: a b c d
2、数组与List相互转换排序
一、List转数组:
List<String> players = new ArrayList<>(); players.add("d"); players.add("c"); players.add("a"); players.add("b"); //String[] ss = (String[])players.toArray(new String[0]); String[] ss = players.toArray(new String[players.size()]); System.out.print("转换后: "); for(String s : ss){ System.out.print(s.concat(" "));//转换后,ss: d c a b }
二、数组转List:
String[] ss = {"d","c","a","b"}; System.out.print("转换前: "); for(String s : ss){ System.out.print(s.concat(" "));//转换前,ss: d c a b } System.out.println(); List<String> players = Arrays.asList(ss); System.out.println("转换后: " + players);//转换后,players: d c a b