У меня ест ькласс 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.
Аренда удаленного сервера: цены, провайдеры и условия. Руководство для начинающих
Как считывать нажатия кнопок в виртуальной клавиатуре телефона? К примеру я нажал "Enter" и появился тоаст "Вы нажали ентер"Либо нажал на какой-нибудь...
Вот задача Есть поле из клеток по средине которого находится роботРобот умеет выполнять 4 команды: двигаться на 1 клетку в сторону: R (right), L (left),...