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