更改 Set<?> 中的值

我有一个包含 Item 对象的集合:Set<Item> 类 Item 有一个getName()返回字符串的方法。我想转换Set<Item>Set<String>使用方法 Item#getName()

有没有更好的方法,而不是使用 forEach ?


GCT1015
浏览 180回答 2
2回答

大话西游666

itemSet.stream().map(Item::getName).collect(Collectors.toSet())使用 Java Stream解释此方法链:在.stream从您所设定的,一个又一个拉每个项目。请参阅 Oracle 发表的这篇文章,使用 Java SE 8 Streams 处理数据,第 1 部分。该.map调用指定的方法(getName每个对象从集流媒体)。这个的输出是每个项目的 name 属性,显然是String您方案中的一个对象。在.collect每个这些名称输出的捕获,并且将其放入一个新Set对象中。Set当此代码完成时,将返回此新内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java