У меня ест ькласс Human c полями
private String name;
private String age;
private String weight;
Я создаю объекты класса и сохраняю их в List. Как мне убрать из списка объекты. с одинаковым полем nameи оставить их всег ов одном экземпляре?
Или как мне переопределить методы equals() и hashCode() для TreeSet?
Для достижения вашей цели не обязательно переопределять equals и hashcode, но для работы с TreeSet ваш класс должен реализовать интерфейс Comparable, в противном случае поймаете ClassCastException:
class Human implements Comparable<Human> {
private String name;
private String age;
private String weight;
public Human(String name, String age, String weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
@Override
public int compareTo(Human o) {
return name.compareTo(o.name);
}
}
либо можно создасть коллекцию с помощью компаратора:
Set<Human> set = new TreeSet<>(Comparator.comparing(Human::getName));
public override bool Equals(Object obj)
{
return this.name == ((Human)obj.name);
}
Вот так можно перегрузить метод Equals.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости