您的位置:首页 > 编程语言 > Java开发

java比较器Comparator

2016-05-31 15:50 411 查看
//具体的比较类,实现Comparator接口
import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

class User
{
String name;
String age;

public User(String name, String age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}

}
class ComparatorUser implements Comparator{

public int compare(Object arg0, Object arg1)
{
User user0=(User)arg0;
User user1=(User)arg1;

//首先比较年龄,如果年龄相同,则比较名字

int flag=user0.getAge().compareTo(user1.getAge());
if(flag==0)
{
return user0.getName().compareTo(user1.getName());
}
else
{
return flag;
}
}

}

//测试类
public class Main
{

public static void main(String[] args)
{
List userlist=new ArrayList();
userlist.add(new User("dd","4"));
userlist.add(new User("aa","1"));
userlist.add(new User("ee","5"));
userlist.add(new User("bb","2"));
userlist.add(new User("ff","5"));
userlist.add(new User("cc","3"));
userlist.add(new User("gg","6"));

ComparatorUser comparator=new ComparatorUser();
Collections.sort(userlist, comparator);

for (int i=0;i<userlist.size();i++)
{
User user_temp=(User)userlist.get(i);
System.out.println(user_temp.getAge()+","+user_temp.getName());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: