Стандартная реализация, как упоминает Николаус, быстра и будет работать нормально.Не стесняйтесь использовать его , за исключением , когда вы переопределяете метод equals.Например, если два объекта Person «равны», если они имеют одинаковые getFirstName () и getLastName (), вы должны переопределить метод equals, чтобы проверить это, а также переопределить hashCode (), чтобы вернуть тот же хеш, когда значения для этихдва свойства одинаковы.