在Java 8中,如何Stream
通过检查每个对象的属性的清晰度来使用API 过滤集合?
例如,我有一个Person
对象列表,我想删除具有相同名称的人,
persons.stream().distinct();
Run Code Online (Sandbox Code Playgroud)
将使用Person
对象的默认相等检查,所以我需要像,
persons.stream().distinct(p -> p.getName());
Run Code Online (Sandbox Code Playgroud)
不幸的是,该distinct()
方法没有这种过载.如果不修改类中的相等性检查,Person
是否可以简洁地执行此操作?