list.removeAll(Collections.singleton(null)); 此类 Collections 映入的包
import org.apache.commons.collections.CollectionUtils;StringUtils.isBlank() StringUtils.isEmpty()
相对比较isBlank比isEmpty强大一点 在做判空的时候isBlank能判断字符串中的String aa = " "; 而isEmpty是不行的
CollectionUtils.isNotEmpty(); 引入的包
import org.apache.commons.collections.CollectionUtils;User实体对象
public class User { private String name; private String age; private String sex; private Integer id; 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; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public User(String name, String age, String sex, Integer id) { this.name = name; this.age = age; this.sex = sex; this.id = id; } public User() { } } List<User> list = new ArrayList<>(); list.add(new User("小白","12","女",12)); list.add(new User("李白","12","男",12)); list.add(new User("baby","12","女",12)); list.add(new User("小白","12","女",12)); list.add(new User("小白","12","女",12)); Set<User> set = new TreeSet<>(new Comparator<User>() { @Override public int compare(User user, User t1) { // 数据对比 return (user.getName().compareTo(t1.getName())); } }); set.addAll(list);打印结果
User{name='baby', age='12', sex='女', id=12} User{name='小白', age='12', sex='女', id=12} User{name='李白', age='12', sex='男', id=12}这里用到Comparator这个类,Comparator比较器重写了compareTo的方法。compareTo这个方法只是一个对比,做不到去重的目的。因为Set的源码中实现了hashcode和equals方法,在加上Comparator就是可以实现去重了!