public class ListUnique {
public static void main(String[] args) {
List<User> users = new ArrayList<>();
users.add(new User("A",23));
users.add(new User("B",23));
users.add(new User("A",23));
// 第一种该方法
List<User> usersUnique = new ArrayList(new HashSet(users));//位置会发生变化,取最新的位置
System.out.println(usersUnique);
// 第二种
Set<User> usersTemp = new HashSet<>();
List<User> usersUnique3 = new ArrayList<>();
for (User user : users) {
if (usersTemp.add(user)){
usersUnique3.add(user);
}
}
System.out.println(usersUnique3);
// 第三种
List<User> usersUnique2 = users.stream().distinct().collect(Collectors.toList());
System.out.println(usersUnique2);
/**
* [User(name=B, age=23), User(name=A, age=23)]
* [User(name=A, age=23), User(name=B, age=23)]
* [User(name=A, age=23), User(name=B, age=23)]
*/