|
|
1.Collections排序
import java.util.*;public class ArrayListTest { public static void printElements(Collection c){ Iterator it=c.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } public static void main(String[] args){ ArrayList a1=new ArrayList(); Student s1=new Student(4,"zhangsan"); Student s2=new Student(2,"lisi"); Student s3=new Student(3,"wangwu"); Student s4=new Student(4,"mybole"); a1.add(s1); a1.add(s2); a1.add(s3); a1.add(s4); Collections.sort(a1);// Collections.sort(a1,new Student.StudentComparator()); printElements(a1); System.out.println(Collections.max(a1)); }}class Point{ int x, y; Point(int x,int y){ this.x=x; this.y=y; } public String toString(){ return ("x="+x+","+"y="+y); }}class Student implements Comparable{ int num; String name; Student(int num,String name){ this.num=num; this.name=name; } static class StudentComparator implements Comparator{ public int compare(Object o1,Object o2){ Student s1=(Student) o1; Student s2=(Student) o2; int result=s1.num>s2.num?1:(s1.num==s2.num?0:-1); if (result==0){ result=s1.name.compareTo(s2.name); } return result; } } public int compareTo(Object arg0) { Student s=(Student) arg0; return num>s.num?1:(num==s.num?0:-1); } public String toString(){ return "num:"+num+","+"name:"+name; }} |
|