我有一个像这样的 Person 对象列表:
list.add(new Person("John", 20)); //person is just name and age
list.add(new Person("Maria", 21));
list.add(new Person("John", 40));
list.add(new Person("Carl", 10));
结果列表中必须没有同名的人,无论年龄如何,因此只有 3 个元素会幸存。如何使用 Java 8 lambda 表达式来实现这一点?
最佳答案
您可以尝试以下操作:
Set<String> unique = new HashSet<>();
list.removeIf(e -> !unique.add(e.getName()));
请注意,Person 类需要有一个 getter 来返回人名。
关于java - 使用 lambda 表达式删除具有重复属性的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290116/