Sobes.tech
Junior — Senior
73

Гарантирование уникальности объектов в HashSet

任务条件

В коллекцию HashSet<Value> помещаются два экземпляра класса Value с одинаковыми полями (a = 1, b = 1f). Необходимо реализовать корректные методы сравнения и хеширования в классе Value, чтобы HashSet воспринимал такие объекты как один и обеспечивал уникальность элементов.

import java.util.HashSet;
import java.util.Set;

public class JetbulbInterview {
    public static void main(String[] args) {
        Set<Value> values = new HashSet<>();
        Value v1 = new Value(1, 1f);
        Value v2 = new Value(1, 1f);

        values.add(v1);
        values.add(v2);

        System.out.println(values);
    }
}
class Value {
    int a;
    float b;

    public Value(int a, float b) {
        this.a = a;
        this.b = b;
    }

    @Override
    public String toString() {
        return "Value{" +
                "a=" + a +
                ", b=" + b +
                '}';
    }
}