class HashSetList<T extends Object>
extends ArrayList<T> {
private HashSet<Integer> _this = new HashSet<>();
@Override
public boolean add(T obj) {
if (_this.add(obj.hashCode())) {
super.add(obj);
return true;
}
return false;
}
}
Теперь я использую такую структуру для небольших программ, я имею в виду, что у вас есть небольшие накладные расходы, чтобы иметь геттеры и сеттеры, но уникальность. Более того, вы можете переопределить hashCode
, чтобы решить, будет ли ваш предмет равным другому.