使用像这样的给定类
class MyClass{
private String name;
MyClass(String name){this.name=name;}
public String getName(){return this.name;}
}
有这样的集合
List<MyClass>cl = Arrays.asList(
new MyClass("Mike"),
new MyClass("Luke"),
new MyClass("John"),
new MyClass("Mike"),
new MyClass("Luke")
);
我能够拥有一个唯一名称的字符串列表
List<String>uniqueNames = cl.stream().map(a->a.getName()).distinct()
.collect(Collectors.toList());
我想要的是 MyClass 列表而不是字符串列表但我不知道如何返回 MyClass 而不是 .getName()中的字符串内的
编辑:“复制”只是解释了不同的功能,我把 .distinct()作为一个例子,我可能想要所有名称以“M”开头的类。当我使用 .map()或等效的东西检查谓词而不是使用过滤器时,我想知道返回类对象的最佳方法。