首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编辑在Map中设置为值的列表?(具体示例: Java)

如何编辑在Map中设置为值的列表?(具体示例: Java)
EN

Stack Overflow用户
提问于 2019-05-16 07:11:54
回答 1查看 1.1K关注 0票数 0

假设我有一张地图,比如

代码语言:javascript
复制
Map<Integer, List<Integer>> map = new HashMap<>();

在列表中有数字{10,21,35,42,50}。

我想用下面的数字减去每个数字,例如21-10,35-21等等。

最终目标是列表中包含{11,14,7,8}。

我在这方面遇到了问题,因为如果列表被设置为值,我不知道如何编辑它。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 12:05:29

下面的代码可以做到这一点:

代码语言:javascript
复制
public void someMethod() {
    Map<Integer, List<Integer>> map = new HashMap<>();
    // Fill the map with values.

    for (Integer key : map.keySet()) {
        map.put(key, generateNewList(map.get(key)));
    }
}

private List<Integer> generateNewList(List<Integer> inputList) {
    List<Integer> newList = new ArrayList<>(inputList.size()-1);
    for (int i = 1; i < inputList.size(); i++) {
        newList.add(inputList.get(i) - inputList.get(i-1));
    }
    return newList;
}

我需要注意的是:这将用一个包含您想要的值的新列表替换map中的列表,因此如果您需要保留相同的列表,它将不起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56158768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档