У меня есть два Карты, которые содержат один и тот же тип объектов:
Map<String, TaskJSO> a = new HashMap<String, TaskJSO>();
Map<String, TaskJSO> b = new HashMap<String, TaskJSO>();
public class TaskJSO { String id; }
Ключами карты являются свойства "id".
a.put(taskJSO.getId(), taskJSO);
Я хочу получить список с: все значения в "Карта b" + все значения в "Карта a", которые не находятся в "Карта b".
Что такое самый быстрый способ выполнения этой операции?
Спасибо
EDIT: компарадирование выполняется с помощью id. Таким образом, два TaskJSO считаются равными, если они имеют один и тот же идентификатор (метод equals переопределяется).
Мое намерение состоит в том, чтобы узнать, какой самый быстрый способ выполнить эту операцию с точки зрения производительности. Например, есть ли разница, если я делаю "comparaison" на карте (как предложил Питер):
Map<String, TaskJSO> ab = new HashMap<String, TaskJSO>(a);
ab.putAll(b);
ab.values()
или вместо этого я использую набор (как предложено Nishant):
Set s = new Hashset();
s.addAll(a.values());
s.addAll(b.values());