1.main方法:html
public class Test { public static void main(String[] args) { /** * * sort()方法詳解 * 1.Collections.sort(List<T> list) * 根據元素的天然順序 對指定列表按升序進行排序。 * 2.Collections.sort(List<T> list, Comparator<? super T> c) * 根據指定比較器產生的順序對指定列表進行排序。 * */ List<Integer> list = new ArrayList<Integer>(); list.add(3); list.add(1); list.add(2); //天然順序 Collections.sort(list); for(Integer i:list){ System.out.println(i); } System.out.println("==============================================="); Point point2 = new Point(2,2,2); Point point1 = new Point(1,1,1); Point point3 = new Point(3,1,2); List<Point> points = new ArrayList<Point>(); points.add(point2); points.add(point1); points.add(point3); System.out.println("==============================================="); //根據point中的升序輸出 Collections.sort(points, new SortByXdesc()); for(Point point:points){ System.out.println("x:"+point.getX()+" y:"+point.getY()+" z:"+point.getZ()); } System.out.println("==============================================="); //根據point中的x降序輸出 Collections.sort(points, new SortByXasc()); for(Point point:points){ System.out.println("x:"+point.getX()+" y:"+point.getY()+" z:"+point.getZ()); } } }
2.降序輸出類SortByXdesc:java
public class SortByXdesc implements Comparator<Object> { //根據point中的x降序輸出 @Override public int compare(Object o1, Object o2) { Point point1 =(Point)o1; Point point2 =(Point)o2; if(point1.getX()>point2.getX()){ return 1; }else{ return 0; } } }
3.升序輸出類SortByXasc:ide
public class SortByXasc implements Comparator<Object> { //根據point中的x升序輸出 @Override public int compare(Object o1, Object o2) { Point point1 =(Point)o1; Point point2 =(Point)o2; if(point1.getX()>point2.getX()){ return 0; }else{ return 1; } } }
轉:http://www.blogjava.net/secret/archive/2011/12/03/352813.htmlspa