Ich habe drei Arraylisten. Zwei Haltekoordinaten für Punkte auf einer Leinwand (xCoord, yCoord). Dies ist ein Punkt-zu-Punkt-Programm. Die dritte Arraylist hält den Code, um zu berechnen, welche Punkte von der Leinwand mit dem geringsten "Schaden" oder Beschädigung des resultierenden Bildes entfernt werden können. Dies basiert auf einem einfachen Algorithmus, der einen "kritischen Wert" zurückgibt. Punkte mit kleineren kritischen Werten verschlechtern das Bild weniger als solche mit höheren kritischen Werten.Entferne Elemente von ArrayList basierend auf einer anderen ArrayList
Mein Problem ist die Entfernung von n Punkten aus den X- und Y-Arraylisten basierend auf dem kleinsten kritischen Wert. Ich habe den Code für die Benutzereingabe bereits implementiert.
public void removeDots(int numberDesired){
int i = 0;
for (i =0; i<numberDesired; i++){
xCoord.remove(critDots.get(i); //No idea, just trying random things.
yCoord.remove(critDots.get(i);
}
}
for (i = 0; i < xCoord.size()-1; i++) {
critValue = Algorithm Calculations
critDots.add(critValue);
}
Ich habe von
Collections.sort(critDots)
aus den am wenigsten kritisch kritischsten zu organisieren mit gedacht, aber ich bin nicht sicher, wie dies die Reihenfolge meiner xKoord/yKoord beeinflussen.
Nur ein paar Tipps, die mir helfen, in die richtige Richtung zu gehen, wären sehr willkommen. Außerdem sind xCoord, yCoord und critDots alle Arraylisten.
'Die dritte Arraylist enthält den Code, um zu berechnen, welche Punkte von der Leinwand entfernt werden können' mit 'Punkt' meinst du ein Paar' x' und 'y' Koordinaten, die entfernt werden sollen? –
Ja, das ist richtig – Fed148
Bitte geben Sie eine vollständige [mcve] anstelle von Teilen des Codes zu erklären. Frage ist zum Beispiel: Welche Art von Objekten speichern Sie in diesen Listen? Wie ich denke: Sie rufen wahrscheinlich die remove (Objekt) anstelle von (index) Methoden aus Versehen (oder umgekehrt). Das kann passieren, weil int-Werte automatisch in Integer-Objekte eingeschlossen werden. Eigentlich ist das hier sehr wahrscheinlich der Fall. – GhostCat