从列表列表为值的Map中获取特定索引

kqlmhetl  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(223)

我不知道如何在Java中做以下事情

在Groovy中,如果我想迭代一个Map,并且在该Map内部,值是一个列表列表。然后从列表列表中获取特定索引,即以下代码将起作用

def total = value.collect { it.get(0) }*.toInteger().sum()

我使用扩散操作符读取具有特定索引的所有列表,并将所有检索到的数据转换为整数并获得总和。

在Java中如何做到这一点?

gjmwrych

gjmwrych1#

您可以使用Java 8流API来迭代外部列表,并从内部列表中获取特定的索引。然后使用mapToInt和sum函数检索所需的输出。

Map<Integer, List<List<Integer>>> map = new HashMap<>();
int key = 8;
int index = 0;
int sum = map.get(key).stream().mapToInt(internalList -> internalList.get(index)).sum();

对于你来说,它应该是这样的。

int total = value.stream().mapToInt(internalList-> internalList.get(index)).sum();

相关问题