小编use*_*101的帖子

通过使用相同名称的键连接列表来组合多个Map <String,List>结构

最干净的方法是什么?

我有

Map<String, List<String>> map1 = ...;  
Map<String, List<String>> map2 = ...; 
Map<String, List<String>> map3 = ...;
Run Code Online (Sandbox Code Playgroud)

地图都具有完全相同的键,没有重复的值.我想为每个键将map2和map3的列表附加到map1列表的末尾.

这就是我目前正在尝试这样做的方式:

Map<String, List<String>> conversions = new HashMap<String, List<String>>();
List<String> histList = new ArrayList<String>();

for(String key : map1.keySet()){
    histList.addAll(map1.get(key));
    histList.addAll(map2.get(key));
    histList.addAll(map3.get(key));
    conversions.put(key,histList);
}
Run Code Online (Sandbox Code Playgroud)

java dictionary java-8

8
推荐指数
1
解决办法
182
查看次数

我有两个包含相同对象的列表.如何在不更改另一个列表的情况下更改一个列表?

当我只将对象放在listOfRates中然后通过复制它创建inverseListOfRates时,我首先注意到了这个问题.但即使使用这种方法,我也不能改变一个列表而不改变另一个列表.

我该如何解决这个问题?

List<HistoricRate> listOfRates = new ArrayList<HistoricRate>();
List<HistoricRate> inverseListOfRates = new ArrayList<HistoricRate>();

for (HistoricRate rate : rates){
    listOfRates.add(rate);
    inverseListOfRates.add(rate);
}

inverseListOfRates.forEach(r -> r.setMid(1 / r.getMid()));
Run Code Online (Sandbox Code Playgroud)

java list object deep-copy shallow-copy

2
推荐指数
1
解决办法
1001
查看次数

标签 统计

java ×2

deep-copy ×1

dictionary ×1

java-8 ×1

list ×1

object ×1

shallow-copy ×1