首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两种TreeMaps的比较与合并

两种TreeMaps的比较与合并
EN

Stack Overflow用户
提问于 2014-11-28 21:23:36
回答 2查看 4.7K关注 0票数 1

我在Java中制作了两个这样的多功能程序:

代码语言:javascript
复制
TreeMap1 = {key1=[a,b,c], key2=[d,e,f]}
TreeMap2 = {key1=[j,k], key2=[z,p]}

如何将TreeMap2的值(键类似于TreeMap1 )添加到TreeMap1的值中,并生成类似于以下内容的第三个TreeMap:

代码语言:javascript
复制
TreeMap3 =  {key1=[a,b,c,j,k], key2=[d,e,f,z,p]}

这种方法给不了我任何东西。

代码语言:javascript
复制
public TreeMap<String, List<String>> make_TreeMap3(){
    for(Entry<String,List<String>> entry_t1 :this.map_FuncType.entrySet()){ 
        for(Entry<String,List<String>> entry_t2 : this.map_AufOrgUserField.entrySet()){
            if(entry_t2.getKey().contains(entry_t1.getKey())){              
                entry_t2.getValue().addAll(entry_t1.getValue());
            }   
        }
    }
    return map_mergOrgandType;  
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-28 21:48:15

像这样吗?

代码语言:javascript
复制
TreeMap<String, List<String>> treeMap3 = new TreeMap<>(treeMap1);
for (String k : treeMap3.keySet()) {
    if (treeMap2.containsKey(k)) {
        treeMap3.get(k).addAll(treeMap2.get(k));
    }
} 
return treeMap3;
票数 1
EN

Stack Overflow用户

发布于 2014-11-28 22:01:37

如果您开放使用第三方库,在番石榴中很容易做到这一点。

代码语言:javascript
复制
public class MultimapMerge {
  public static void main(String[] args) {

    Multimap<String, String> map1 = TreeMultimap.create();
    map1.put("key1", "a");
    map1.put("key1", "b");
    map1.put("key1", "c");
    map1.put("key2", "d");
    map1.put("key2", "e");
    map1.put("key2", "f");

    Multimap<String, String> map2 = TreeMultimap.create();
    map2.put("key1", "j");
    map2.put("key1", "k");
    map2.put("key2", "z");
    map2.put("key2", "p");

    Multimap<String, String> map3 = TreeMultimap.create();
    map3.putAll(map1);
    map3.putAll(map2);
    System.out.println(map3);
  }
}

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html

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

https://stackoverflow.com/questions/27196080

复制
相关文章

相似问题

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