我有這個類,它包含一個可包含Circle
和Triangle
的組。努力理解圖中的等於組
public class FiguresGroup {
private static final int NUM_FIGURES = 10;
private Figure[] figuresList = new Figure[NUM_FIGURES];
private int numF = 0;
public void add(Figure f) { figuresList[numF++] = f; }
public String toString() {
String s = "";
for (int i = 0; i < numF; i++) {
s += "\n" + figuresList[i];
}
return s;
}
private boolean found(Figure f) {
for (int i = 0; i < numF; i++) {
if (figuresList[i].equals(f)) return true;
}
return false;
}
private boolean included(FiguresGroup g) {
for (int i = 0; i < g.numF; i++) {
if (!found(g.figuresList[i])) return false;
}
return true;
}
private boolean equals(FiguresGroup g) {
if (g.included(this) && this.included(g)) return true;
}
我不知道如何實施equals
。我嘗試了你在這裏看到的,但它不起作用。 對於2個組相等,必須包含來自另一個的每個元素,反之亦然。如何使這項工作?
'FigureGroup'會更具可讀性是正確的'hashCode'和'提供了參與類equals'實現。 – rkosegi