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

java自定义比较器Comparator

2014-06-07 11:20 302 查看
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class User {
private String username;
private int gametimes;
private int succtimes;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getGametimes() {
return gametimes;
}
public void setGametimes(int gametimes) {
this.gametimes = gametimes;
}
public int getSucctimes() {
return succtimes;
}
public void setSucctimes(int succtimes) {
this.succtimes = succtimes;
}

public double getSuccRate() {
if(gametimes == 0) {
return 0;
}
return (double)succtimes / gametimes;
}

public static void main(String[] args) {
List<User> list = new ArrayList<User>();
User user = new User();
user.setUsername("1");
user.setGametimes(0);
user.setSucctimes(0);
User user2 = new User();
user2.setUsername("2");
user2.setGametimes(3);
user2.setSucctimes(2);
list.add(user);
list.add(user2);
for(User user3 : list) {
System.out.println(user3.getUsername());
}
Collections.sort(list, new Comparator<User>() {

@Override
public int compare(User o1, User o2) {
double a = o1.getSuccRate();
double b = o2.getSuccRate();
System.out.println(a);
System.out.println(b);
return new Double(b).compareTo(new Double(a));
}
});
for(User user3 : list) {
System.out.println(user3.getUsername());
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: