Ich habe folgendes Objekt,Überprüfen Sie, ob ein ein Objekt in Java enthält
public class Pair {
private int row;
private int col;
public Pair(int row, int col){
this.row = row;
this.col = col;
}
public int getRow(){
return row;
}
public int getCol(){
return col;
}
}
ich diese Paare in einer Warteschlange zu speichern, aber wan't zu überprüfen, ob die Queue das Paar bereits enthält. Das ist mein Code.
Queue<Pair> queue = new LinkedList<>();
if(!queue.contains(new Pair(curr.getRow(), curr.getCol()){
//do something
}
Dies funktioniert nicht und die Queue doppelte Werte speichert. Kann mir jemand helfen zu verstehen warum und wie kann man das beheben?
Überschreiben Sie gleich(), um einen benutzerdefinierten Vergleich zu implementieren. Im Moment prüft es nur die Objektgleichheit. – dambros