Я делаю этот класс, который является пользовательской картой, основанной на хэш-карте. У меня есть метод add, где, если вы добавляете объект, ключом будет объект, а его значение будет равно 1, если объект в данный момент отсутствует в списке. Однако, если вы добавите объект, который в данный момент находится в списке, его значение будет увеличено на 1. Поэтому, если я добавлю 10 одинаковых строк, ключом будет эта строка, а значением будет 10. На практике я понимаю, когда Я перебираю карту, на самом деле есть только один объект для перебора, однако я пытаюсь создать внутренний класс, который определит итератор, который будет перебирать один и тот же объект, сколько бы его значение ни было. Я могу сделать это, просто используя циклы for, чтобы создать соответствующий ArrayList и просто создать для этого итератор, но это слишком неэффективно. Есть ли простой или более эффективный способ сделать это?