Поскольку респондент упомянул, что не могут использоваться дженерики, поскольку целевой платформой была Java 1.4, можно использовать Коллекции Apache Commons , в которых не используются дженерики.
В ответе от pjp упоминается, что можно использовать сумку.
Оказывается, у коллекций Apache Commons есть Bag
, который имеет метод getCount
, который будет возвращать счет определенного объекта, который был добавлен в Bag
.
Ниже приведен пример того, что add
s некоторые Integer
возражают против HashBag
и подсчитывают, сколько из каждого Integer
объекта это Bag
содержит:
Bag b = new HashBag();
b.add(Integer.valueOf(1));
b.add(Integer.valueOf(2));
b.add(Integer.valueOf(2));
b.add(Integer.valueOf(3));
System.out.println("Count for 1: " + b.getCount(Integer.valueOf(1)));
System.out.println("Count for 2: " + b.getCount(Integer.valueOf(2)));
System.out.println("Count for 3: " + b.getCount(Integer.valueOf(3)));
Результаты были:
Count for 1: 1
Count for 2: 2
Count for 3: 1
(Я должен добавить заявление об отказе от ответственности за то, что этот код на самом деле был скомпилирован и запущен на Java 6, но я полагаю, что я использовал только те функции, которые присутствовали в 5-дневной версии до Java).