簡體   English   中英

Java8將對象列表轉換為對象的一個​​屬性列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM