Один из способов сделать это - выполнить цикл по массиву и использовать карту, в которой объекты используются в качестве ключей, а значения в качестве счетчиков.Итак,
Map<YourObject, Integer> counter ...
Когда вы проходите через массив, выполните get
на счетчике для текущего объекта в массиве.Если вы получите значение null, инициализируйте значение в этом сегменте на карте равным 1. Если у вас есть значение, увеличьте его.Затем вы можете перейти к карте, чтобы получить показания.
Обратите внимание, что если вы используете Hashmap
, ваши объекты должны правильно реализовать метод hashcode
и equals
.Вам не нужно использовать свой объект, если у него есть ключи или какое-либо другое отличительное поле, ключи на вашей карте могут быть такими ...