gpt4 book ai didi

java - 在 Java 中命名新实例

转载 作者:行者123 更新时间:2023-12-01 17:33:32 25 4
gpt4 key购买 nike

我正在尝试创建一个程序,通过将三角形的边存储在下面的类中来创建三角形:

class Triangle {
private int[] sides;

public Triangle(int x, int y, int z) {
sides = new int[] {x,y,z};
Arrays.sort(sides);
}

@Override public boolean equals(Object o) {
return o instanceof Triangle && Arrays.equals(sides, ((Triangle) o).sides);
}

@Override public int hashCode() {
return Arrays.hashCode(sides);
}

@Override public String toString() {
return Arrays.toString(sides);
}
}

问题是我不知道如何从 for 循环创建这些三角形的新实例。例如,我通过 for 循环比较三个数字的 GCD,然后我想向集合中添加一个新三角形(已讨论 here )。我相信我知道如何做所有事情,但创建该类的新实例,因为在循环期间,我无法创建三角形类的唯一实例。

有什么办法可以做到这一点吗?

最佳答案

试试这个:

Set<Triangle> myTriangles = new LinkedHashSet<Triangle>();
for (something here) {
myTriangles.add(new Triangle(a, b, c));
}

该集合将自动避免重复。

关于java - 在 Java 中命名新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com