为了账号安全,请及时绑定邮箱和手机立即绑定

更改 Set<?> 中的值

更改 Set<?> 中的值

GCT1015 2021-10-06 12:34:11
我有一个包含 Item 对象的集合:Set<Item> 类 Item 有一个getName()返回字符串的方法。我想转换Set<Item>为Set<String>使用方法 Item#getName()有没有更好的方法,而不是使用 forEach ?
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

itemSet.stream().map(Item::getName).collect(Collectors.toSet())

使用 Java Stream解释此方法链

  • .stream从您所设定的,一个又一个拉每个项目。请参阅 Oracle 发表的这篇文章,使用 Java SE 8 Streams 处理数据,第 1 部分

  • .map调用指定的方法(getName每个对象从集流媒体)。这个的输出是每个项目的 name 属性,显然是String您方案中的一个对象。

  • .collect每个这些名称输出的捕获,并且将其放入一个新Set对象中。Set当此代码完成时,将返回此新内容。

//img1.sycdn.imooc.com//615d2760000103ad13640218.jpg

查看完整回答
反对 回复 2021-10-06
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信