簡體   English   中英

將帶有map的對象列表轉換為基元數組

[英]Converting list of objects with map to array of primitives

我一直在找一些我需要做的事情,但是我很難把它們放在一起。 首先,這是我的目標,簡單地說:

Object1
    Object2
        Map<String, Double>

我需要做的是,從Object1列表開始,在給定特定鍵的情況下獲取地圖值的double[] (列表中的所有對象在地圖中具有相同的N個鍵)。

這是我的開始嘗試:

myList.stream().map(Object1::getObject2).map(Object2::getMyMap).map(m -> m.get(key).collect(Collectors.toCollection(ArrayList::new))

我不知道如何從這里獲得原始數組。 如果到目前為止這是好的,我從哪里開始? 如果有更好的方法來做這件事,我願意接受建議。 感謝任何幫助,謝謝。

使用.mapToDouble創建DoubleStream

myList.stream()
    .map(Object1::getObject2)
    .map(Object2::getMyMap)
    .mapToDouble(m -> m.get(key))  // or throw if key is not in map
    .toArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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