[英]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.