So erhalten Sie eindeutige Werte in der Liste

7

Ich habe 2 Textdateien mit Daten. Ich lese diese Dateien mit BufferReader und setze die Daten einer Spalte pro Datei in List<String> .

Ich habe Daten in jedem einzelnen dupliziert, aber ich brauche eindeutige Daten in der ersten List , um mit den duplizierten Daten in der zweiten List konfrontiert zu werden.

Wie kann ich eindeutige Werte von List bekommen?

    
Junior Fulcrum 01.10.2014, 22:56
quelle

4 Antworten

13

Es kann eine Zeile mit einem intermediate Set :

gemacht werden %Vor%

Verwenden Sie in Java 8 distinct() in einem Stream:

%Vor%

Alternativ können Sie überhaupt keine Liste verwenden. Verwenden Sie einfach einen Satz (wie HashSet) von Anfang an für die Sammlung, die nur eindeutige Werte enthalten soll.

    
Bohemian 01.10.2014 23:13
quelle
7

Konvertiere ArrayList in eine HashSet .

%Vor%

Wenn Sie das Set aus irgendeinem Grund später in eine Liste konvertieren möchten, können Sie das tun, aber wahrscheinlich wird es keine Notwendigkeit geben.

%Vor%     
Robby Cornelissen 01.10.2014 22:58
quelle
0

ich realisiere nur eine lösung kann es für andere personen hilfreich sein. Zuerst werden doppelte Werte von BufferReader aufgefüllt.

%Vor%

Um eindeutige Werte zu extrahieren, erstelle ich einfach eine neue ArrayList wie unten:

%Vor%

Viele Post im Internet sprechen alle meine Arraylist zu einer List, Set, HashTable oder TreeSet zuordnen. Kann jemand den Unterschied in der Theorie erklären und welcher ist der beste in der Praxis? Für deine Zeit Jungs.

    
Junior Fulcrum 01.10.2014 23:10
quelle
0

In Java 8 :

%Vor%

Dies funktioniert auch mit Objekten, aber Sie müssen wahrscheinlich Ihre equals-Methode anpassen.

    
Jorciney 16.11.2017 10:21
quelle

Tags und Links