public class User {
private String username;
private String password;
private Integer age;
public User(String username,String password,Integer age){
this.age=age;
this.password=password;
this.username=username;
}
}
public static void main(String[] args){
List<User> list = new ArrayList<>();
list.add(new User("李白","123",2));
list.add(new User("李白1","1234",1));
list.add(new User("李白1","1234",2));
list.add(new User("李白","123",1));
for(User u : list){
System.out.println("去重前的数据" + u);
}
Set<User> set = new TreeSet<>(new Comparator<User>() {
@Override
public int compare(User user0, User t1) {
int count = 1;//=0表示去重
count = user0.getUsername().compareTo(t1.getUsername()) +
user0.getPassword().compareTo(t1.getPassword());
return count;
}
});
set.addAll(list);
System.out.println("________________");
for(User u : set){
System.out.println("去重后的数据" + u);
}
}
去重前的数据User(username=李白, password=123, age=2)
去重前的数据User(username=李白1, password=1234, age=1)
去重前的数据User(username=李白1, password=1234, age=2)
去重前的数据User(username=李白, password=123, age=1)
________________
去重后的数据User(username=李白, password=123, age=2)
去重后的数据User(username=李白1, password=1234, age=1)