Я думаю, что нет лучшего метода , если только вы не используете другой подход и / или другие структуры данных.Например, вы можете создать класс с именем ValuePair
, который может содержать (до) двух значений, представляющих значения, которые вы храните в настоящее время на двух разных картах, но вместо этого вы сохраняете все пары на одной карте, и когда это происходитдля «вычитания» вы можете выполнить итерацию в одном наборе ключей.Обратите внимание, что пара может быть неполной, поэтому вычитание не выполняется.
Но это, вероятно, излишество.