TreeMap 中的子键和值与 Java 中的其他 TreeMap
subtitude keys and values in TreeMap with other TreeMap in Java
假设我有一个 TreeMap<String,List<String> first;
和 TreeMap<String,String> Origin;
并且 first 中的每个键和每个值在 origin 中都有一个等效的键。如何用 Origin 的相关值替换 first 的键和值?例如
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
DesiredMap {[a1 =b1,c1,d1],[e1 = f1,g1,h1]}
您必须遍历 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);
然后遍历 oldValues
中的每个值 s
以从 origin
中获取新值,以创建 newValues
的列表
List<String> newValues = new ArrayList<>();
for(String s : oldValues) {
newValues.add(origin.get(s));
}
现在您已经有了 newKey
和 newValues
,将它们放入您的 result
TreeMap。
result.put(newKey, newValues);
转到下一个 entry
并重复!
假设我有一个 TreeMap<String,List<String> first;
和 TreeMap<String,String> Origin;
并且 first 中的每个键和每个值在 origin 中都有一个等效的键。如何用 Origin 的相关值替换 first 的键和值?例如
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 DesiredMap {[a1 =b1,c1,d1],[e1 = f1,g1,h1]}
您必须遍历 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);
然后遍历 oldValues
中的每个值 s
以从 origin
中获取新值,以创建 newValues
List<String> newValues = new ArrayList<>();
for(String s : oldValues) {
newValues.add(origin.get(s));
}
现在您已经有了 newKey
和 newValues
,将它们放入您的 result
TreeMap。
result.put(newKey, newValues);
转到下一个 entry
并重复!