Collection ohne Sortieralgorithmus

naeko

Mitglied
Hallo,
ich suche eine Collection welche weder eine Sortierung der Elemente vornimmt noch Doubletten anzeigt.
Ich würde diese dann gerne ungefähr so im Code unterbringen:

Code:
//myValues->viele Daten
 
while(myValues!=null)
{
String[] pathSegs = strLine.split( ";" ); //Daten splitten
myCollection.add(pathSegs[0]);	//und in die Collection einfügen in der Reihenfolge wie in der while-Schleife zustande kommen und ohne Doubletten
}

hab bereits mit TreeSet und HashSet probiert
TreeSet sortiert mir die Daten nach Alphabet (ohne dass ich dafür Comparator implementiert habe) und
HashSet sortiert zwar nicht, behält aber auch die Reihenfolge nicht->bringt somit die Daten komplett durcheinander

Welche Collection kann ich für meinen Zweck anwenden?
Danke.
 
Hallo,

Warum implementierst du nicht einfach beim Treeset eine Comparator der nicht sortiert, sondern die Daten so einfügt wie sie reinkommen?

MFG

zEriX
 
ich hab das bereits mit einer Liste realisiert, aber ich dachte es gibt in Java eine Collection wo du einfach sagst:
collection.put("A);
collection.put("X");
collection.put("B");

und man kriegt auch beim Rauslesen A,X,B und nicht A,B,X oder sonstiges
 
Bei einer Liste ist es auch so, dafür können aber Dublikate drin vorkommen, also die Elemente sind nicht einzigartig.
Wenn du aber sichergehen willst, dass es nicht so ist, kannst du dir ja mal meinen Vorschlag anschauen.

MFG

zEriX
 
ja, du hast Recht...ich hab es aber schon so implementiert, dass die Doubletten wegfallen und jetzt dacht ich bloß dass es besseren (schnelleren) Weg gibt.

Ich stehe irgendwie auf dem Schlauch das mit dem eigenen Comparator. Wo wird dieser definiert?
 
Schau dir mal das Interface Comparator an. In der Java-Api wird erklärt wie dieser funktioniert. Das ist ein Java-Interface.

Du kannst einfach einen Comparator dem TreeSet im Konstruktor übergeben.

MFG

zEriX
 
Doch. Aber bevor du einen Vector nutzt, würde ich dir eine ArrayList empfehlen. Die ist schneller als der Vector.

Vector und ArrayList sind normale Listen, in denen alles drin ist.

MFG

zEriX
 
Zurück