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