Machen arraylist verschiedene
Habe ich Duplikate in meiner arraylist und entfernen möchten diese Duplikate machen es deutlich. Ich habe versucht mit der hastable, um loszuwerden, Duplikate, aber es zerstört die Ordnung. Wie kann ich es machen ohne deutliche änderung der insertion order?
- Wie groß von einer Sammlung reden wir?
- diese Frage ist Java.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa:
oder
ArrayList
nicht nehmen eineIEnumerable<T>
. Sie müssen hinzufügenToArray()
nach derDistinct()
. Das heißt, einList<T>
ist vorzuziehen, einArrayList
trotz, dass die OP ' s aktuelle Kollektion.Hashtable tut, klingt wie eine ziemlich gute Idee.
Nach diesem Lauf müssen Sie nur die ersten Instanz jedes Objekts.
Bemerken, die Sie nicht verwenden müssen, die HashTable, auch eine andere ArrayList genügt. Trotzdem würde ich mit hashtable, da die Suche/einfügen in die Hashtabelle O(1) in der durchschnittlichen Fall, während binäre Suche in arraylist ist O(log(n)).
Sebastian Recht. Technisch, wenn Sie versuchen, um Duplikate zu vermeiden, verwenden Sie eine Kollektion, die nicht unterstützt Duplikate. Benutzen Sie eine Hashtabelle, eine Schleife über die ArrayList und pop Sie in ihn. Wenn der gesamte code, der dein ist, sehen Sie, wenn Sie können umgestalten, so dass Sie nicht mit einer ArrayList