来自ArrayList <Thing>的String属性的ArrayList <String>

时间:2019-06-22 01:23:54

标签: java java-stream

我有一个具有Thing属性的ArrayList<Tag> tags

class Thing {
    private ArrayList<Tag> tags;
    ...
}

class Tag {
    private String description;
    ...
}

我需要在标签的List字符串中创建description

我有这个,而且看起来非常麻烦:

tags = thing.tags
            .stream()
            .map(tag -> tag.getDescription())
            .collect(Collectors.toCollection(ArrayList::new));

有没有一种我完全忽略了“ map()”列表的简单方法?

请注意,如果使用其他一些“列表”类型的东西可以使输入和输出的输入变得更容易,则输入和输出的输入不必为ArrayList。 '

1 个答案:

答案 0 :(得分:4)

List没有Stream的map方法。您所拥有的就是做到这一点的方法。

您可以改用Collectors.toList()使其简洁一些