合并两个TreeMap,同时跳过Java中的第⼀个条⽬
我有两个要合并的TreeMap:
TreeMap<foo, bar> map1 = {key1=value1, key2=value2};
TreeMap<foo, bar> map2 = {key1=value6, key3=value3, key4=value4, key5=value5};
我想将这些地图合并到⼀个地图中,但是我想跳过第⼆张地图的第⼀项,因此我将得到以下内容:
TreeMap<foo, bar> result = {key1=value1, key2=value2, key3=value3, key4=value4, key5=value5};
但是,我⽆法调⽤ve(map2.firstKey())甚⾄ve(key1),因为equals在foo上⽆法正常⼯作.
有什么好⽅法吗?
(⽬前,我正在这样做,效果很好,但是我对此并不满意,我也不认为这是最好的⽅法:
TreeMap<foo, bar> result = new TreeMap<>();
result.putAll(map1);
for (Map.Entry<foo, bar> entry : Iterables.Set(), 1) ) {
result.Key(), Value());
}
)
最佳答案
您可以使⽤tailMap:
TreeMap<foo, bar> result = new TreeMap<>(map1);
入门的java游戏小程序
result.putAll (map2.tailMap (map2.keySet().iterator().next(), false));
编辑:您不需要到第⼆个键.您可以使⽤包含== false的tailMap运⾏tailMap,并将第⼀个键传递给它,该键将被排除.
Inm⼩程序商店收录了最新,最热门的⼩程序和⼩游戏,是国内内容最丰富的集⼩程序游戏、⼩程序分发、⼩程序推⼴为⼀体的综合性⼩程序门户⽹站之⼀。
最低 $2.5/⽉ 的VPS, 稳定, 可靠

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。