我想合并两个哈希映射。合并两个哈希映射Android
我可以使用map1.putAll(MAP2);但我不想重写密钥,因为他们会有冲突的密钥。
所以在每个地图的钥匙会是这样
word1 word1
word2 word2
word3 word3
,当我将它们合并,我想:
word1
word2
word3
word4
word5
word6
它可以只覆盖键,aslong的关键是增量并使用第一个关键文本,即读取其中一对并提取“单词”,这样每个单词都将是word1 word2。
但另外一点我想在移动环境,我能做些什么,而不必忍受加载屏幕,甚至可以胜任的。
所以作为首发,我想:
HashMap<String, Object> hm1 = new HashMap<String, Object>();
hm1.put("key1", "a");
hm1.put("key2", "a");
hm1.put("key3", "a");
HashMap<String, Object> hm2 = new HashMap<String, Object>();
hm2.put("key1", "1");
hm2.put("key2", "2");
hm2.put("key3", "3");
HashMap<String, Object> newHM = new HashMap<String, Object>();
String keyWord = "";
for (String s: hm1.keySet()) {
keyWord = s;
break;
}
int count = 0;
for (Object o : hm1.values()) {
newHM.put(keyWord+count, o);
}
for (Object o : hm2.values()) {
newHM.put(keyWord+count, o);
}
但我想知道,如何高效这是什么?它看起来是正确的,有没有更好的方法来做到这一点?我不想不必要地使用额外对象
字符串关键字= “”; (String s:hm1.keySet()){ keyWord = s; 休息; } 这样做有什么意义呢?它总是会设置关键字来HM1 – 2010-10-09 20:10:12
第一密钥的理念是,要检索已创建地图的一个关键,我忘了,虽然从中取出数,所以每个按键会key11,KEY12,kat13。所以我应该用一个子串来解决这个问题。只要查看列表回答第一tho – Blundell 2010-10-09 21:26:39