Comparator()太难了,谁能用简单的话让我明白阿!! 难死我了,还能再难一点不,这个东西。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考:import java.util.Comparator;import java.util.ArrayList; public class Demo{ public static void main(String[] args){ User u1 =new User("aaa",12); User u2 =new User("ddd",10); User u3 =new User("ccc",20); User u4 =new User("bbb",10); ArrayList arrayList = new ArrayList(); arrayList.add(u1); arrayList.add(u2); arrayList.add(u3); arrayList.add(u4); Object[] users =arrayList.toArray(); System.out.println ("排序前。"); for (int i = 0; i<users.length; i++){ System.out.println (users[i]); } System.out.println ("*******************************"); System.out.println ("排序后。。"); //把排序规则交给sort方法。该方法就回按照你自定义的规则进行排序 java.util.Arrays.sort(users,new MyComparator()); for (int i = 0; i<users.length; i++){ System.out.println (users[i]); } }}class User{ String name; int age ; public User(String name,int age){ this.name = name; this.age = age; } public String toString(){ return name+":::"+age; } }class MyComparator implements Comparator{ public int compare(Object obj1, Object obj2 ){ User u1 = (User)obj1; User u2 = (User)obj2; if(u1.age>u2.age){ return 1; }else if(u1.age<u2.age){ return -1; }else{ //利用String自身的排序方法。 //如果年龄相同就按名字进行排序 return u1.name.compareTo(u2.name); } }} 你说的是Comparator接口对吧,关于它和 Conparable的比较请看这里http://blog.csdn.net/anqini/archive/2008/04/27/2335636.aspx它是一个灵活的比较构造器,相对于Conparable的comparaTo是灵活的! Map的toString()方法问题 求s=a+aa+aaa+aaaa+aa...a的值, Main.class具体执行过程 下面的类定义有哪些问题? Java 动态代理 数据库连接池问题 网页重定向必须重新new url马? 关于Applet的问题 websphere出现错误!!帮看一下,UP也可!! 急,请教,怎样按行读、修改文本文件啊? JfreeChart鼠标事件的问题 使用poi对word进行操作的问题
import java.util.ArrayList; public class Demo{
public static void main(String[] args){
User u1 =new User("aaa",12);
User u2 =new User("ddd",10);
User u3 =new User("ccc",20);
User u4 =new User("bbb",10);
ArrayList arrayList = new ArrayList();
arrayList.add(u1);
arrayList.add(u2);
arrayList.add(u3);
arrayList.add(u4);
Object[] users =arrayList.toArray();
System.out.println ("排序前。");
for (int i = 0; i<users.length; i++){
System.out.println (users[i]);
}
System.out.println ("*******************************");
System.out.println ("排序后。。");
//把排序规则交给sort方法。该方法就回按照你自定义的规则进行排序
java.util.Arrays.sort(users,new MyComparator());
for (int i = 0; i<users.length; i++){
System.out.println (users[i]);
}
}
}class User{
String name;
int age ;
public User(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+":::"+age;
}
}
class MyComparator implements Comparator{
public int compare(Object obj1, Object obj2 ){
User u1 = (User)obj1;
User u2 = (User)obj2;
if(u1.age>u2.age){
return 1;
}else if(u1.age<u2.age){
return -1;
}else{
//利用String自身的排序方法。
//如果年龄相同就按名字进行排序
return u1.name.compareTo(u2.name);
}
}
}
http://blog.csdn.net/anqini/archive/2008/04/27/2335636.aspx
它是一个灵活的比较构造器,相对于Conparable的comparaTo是灵活的!