我不知道如何在java中执行以下操作
在groovy中,如果我想迭代一个映射,在映射中,值是一个列表列表。然后从列表中获取一个特定的索引,即下面的代码可以工作
def total = value.collect { it.get(0) }*.toInteger().sum()
我使用spread操作符读取具有特定索引的所有列表,并将所有检索到的数据转换为整数并得到和。
如何在Java中做到这一点?
发布于 2022-07-18 06:43:20
您可以使用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();
https://stackoverflow.com/questions/73017547
复制相似问题