То, что я пытаюсь сделать, довольно просто. Я хочу объединить две карты. SayСлияние карт в java
map1={(1,"one"),(2,"two"),(3,"three");
map2={(1,"onetoo"),(4,"four")};
, если я следовать этом->
map3.putall(map1);
map3.putall(map2);
затем значение 1 является onetoo но когда я следовать обратное это одно. В любом случае я могу это изменить? Что я имею в виду, так это то, что java перезаписывает и ставит только последнее значение для ключа. i.e, если onetoo был добавлен после одного (на их соответствующих картах), то независимо от того, какой порядок putall вызывает map3, значение остается onetoo.
Можете ли вы привести пример карты, которую вы хотите создать? –
Что вы ожидаете после слияния? – hcg
Вы должны обязательно создать пример, чтобы показать, что вы имеете в виду.Но я думаю, что если вы хотите этого достичь, вам придется либо создать свой собственный «TimedMap extends Map», либо сделать это вручную, сохранив метку времени каждого 'put' с соответствующим элементом и сделав слияние, выполнив итерацию по вашим картам и добавьте только элемент, если нет записи с этим ключом и нижней меткой времени на соответствующем элементе. – brimborium