Beste Methode, um eine Liste zu durchlaufen und gleichzeitig Elemente zu entfernenJava

Java-Forum
Anonymous
 Beste Methode, um eine Liste zu durchlaufen und gleichzeitig Elemente zu entfernen

Post by Anonymous »

Ich habe eine Liste von Bereichen, die aus einem Start- und einem Endwert bestehen. Ich muss die Liste optimieren, indem ich alle überlappenden Bereiche identifiziere und sie zusammenführe, damit es in der Liste keine Duplikate gibt.
Ich habe den folgenden Code, der funktioniert

Code: Select all

    private void reconcile() {
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < i; j++) {
if (list.get(j).overlaps(list.get(i))) {
list.get(j).merge(list.get(i));
list.remove(i);
i--;
}
}
}
}
Die Liste enthält benutzerdefinierte Objekte mit Überlappungs- und Zusammenführungsmethoden.
Da ich Objekte während der Iteration entferne, muss ich das i-- einschließen, um sicherzustellen, dass ich kein Objekt in der Liste überspringe, wenn sich die Indizierung ändert.
Ich frage mich nur, ob es eine elegantere Möglichkeit gibt, dies zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post