Я создал класс Event.Как видите, методы hashCode и equals используют только поле id типа long.
public class Event {
private long id;
private Map<String, Integer> terms2frequency;
private float vectorLength;
@Override
public long hashCode() {
return this.id;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Event other = (Event) obj;
if (id != other.id)
return false;
return true;
}
Я буду хранить объекты этого класса в коллекции HashSet.
Set<Event> events = new HashSet<Event>();
Поскольку для вычисления хеш-функции только поле типа long я бы хотел получитьэлементы из hashset событий, вычисляя хэш id.Например:
events.get(3);
Возможно ли или я должен использовать для этого hashMap:
Map<Long, Event> id2event = new HashMap<Long, Event>();
?