假设我有TreeMap<String,List<String> first;
和TreeMap<String,String> Origin;
并且每个键和第一个中的每个值都有一个等效的键。如何用Origin中的相关值替换first和key的值和值?例如
first {a = [b,c,d], e = [ f,g,h]}
origin {a=a1,b=b1,c=c1,d=d1,e = e1, g = g1, h=h1}
我需要得到这个TreeMap 期望地图{[a1 = b1,c1,d1],[e1 = f1,g1,h1]}
答案 0 :(得分:2)
您必须遍历first
TreeMap上的条目。
for(Map.Entry<String, List<String>> entry : first.entrySet()) {
对于每个entry
抓取oldKey
和oldValues
。
String oldKey= entry.getKey();
List<String> oldValues= entry.getValue();
创建newKey
String newKey = origin.get(oldKey);
然后遍历s
中的每个值oldValues
以获取origin
中的newValue,以便创建newValues
的列表
List<String> newValues = new ArrayList<>();
for(String s : oldValues) {
newValues.add(origin.get(s));
}
现在您已将newKey
和newValues
放在result
TreeMap中。
result.put(newKey, newValues);
转到下一个entry
并重复!