[英]Java8 transform a [List<Object>, String] in a Map<Object, String>
[英]Java8 Transform list of object to list of one attribute of object
我想使用Java 8技巧在一行中执行以下操作。
鉴于此对象定义:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class MyObj {
private String id;
private Double value;
}
和List<MyObj> objects
,我想得到一个List<String> objectIds
,它是第一个列表中List<String> objectIds
的所有id
的列表 - 按相同的顺序。
我可以使用Java中的循环来做到这一点,但我相信在Java8中应该有一个单行的lambda可以做到这一点。 我无法在网上找到解决方案。 也许我没有使用正确的搜索词。
有人可以为这个变换建议一个lambda或另一个单行程吗?
这应该做的伎俩:
objects.stream().map(MyObj::getId).collect(Collectors.toList());
也就是说, 方法reference ::
operator允许您引用类路径中的任何方法,并将其用作您需要的操作的lambda。
如评论中所述,流保留了订单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.