List对象去重,网上搜索了很多的方法,但都不是我想要的,今天尝试了这样的方法,采用list转为set,set是唯一不重复的,且new LinkedHashSet<> 是有序的,如果有不正确的地方,请大家指正。
public class Test {
public static void main(String[] args) {
User user= new User();
user.setUserName("fff");
user.setPassWord("111");
User user1 = new User();
user1.setUserName("fff");
user1.setPassWord("112");
User user2 = new User();
user2.setUserName("fff");
user2.setPassWord("111");
List<User> list = new ArrayList<>();
list.add(user);
list.add(user1);
list.add(user2);
Set<User> str1 = new LinkedHashSet<>(list);
Set<User> str = new HashSet<>();
str.add(user);
str.add(user1);
str.add(user2);
for (User user3 : list) {
System.out.println(user3);
}
System.out.println("*********************************");
for (User user3 : str1) {
System.out.println(user3);
}
System.out.println(str.size());
}
}
输出结果:
User(userName=fff, passWord=111)
User(userName=fff, passWord=112)
User(userName=fff, passWord=111)
*********************************
User(userName=fff, passWord=111)
User(userName=fff, passWord=112)
2
大家注意,如果不行,那就看我的另外一篇文章
java8 list中对象多属性去重
6311

被折叠的 条评论
为什么被折叠?



