在stream()中返回一个类而不是参数.map()NOT DUPLICATE

时间:2015-12-03 18:45:26

标签: java dictionary java-stream

使用像这样的给定类

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()或等效的东西检查谓词而不是使用过滤器时,我想知道返回类对象的最佳方法。

0 个答案:

没有答案