【发布时间】:2012-06-16 03:30:07
【问题描述】:
我想做的很简单。我想合并两张地图。 说
map1={(1,"one"),(2,"two"),(3,"three");
map2={(1,"onetoo"),(4,"four")};
如果我遵循这个->
map3.putall(map1);
map3.putall(map2);
那么 1 的值也是一个,但是当我反向操作时它是一个。 无论如何我可以改变它吗?我的意思是java覆盖并只放置一个键的最新值。 即如果 onetoo 是在一个之后添加的(在他们各自的地图中),那么无论 putall 调用 map3 的顺序如何,该值仍然是 one。
【问题讨论】:
-
你能举一个你想要它创建的地图的例子吗?
-
合并后有什么期待?
-
您绝对应该创建一个示例来说明您的意思。但我认为,如果你想实现这一点,你将不得不创建自己的
TimedMap extends Map,或者通过使用相应的元素保存每个put的时间戳来手动完成,并通过迭代你的地图进行合并,只添加元素,如果没有具有该键的条目并且相应元素上的时间戳较低。