/ / Wie man zwei Dateien in Java vergleicht, wenn die Reihenfolge der Elemente keine Rolle spielt - Java, Datei, Vergleich

So vergleichen Sie zwei Dateien in Java, wenn die Reihenfolge der Elemente keine Rolle spielt - Java, Datei, Vergleich

Ich möchte 2 Dateien vergleichen und das überprüfenInhalte sind gleich. Das Problem ist jedoch, dass die Daten in den Dateien nicht in derselben Reihenfolge vorliegen. Die Methode equals () gibt false zurück, auch wenn der Inhalt gleich ist, wenn die Elemente nicht in derselben Reihenfolge angeordnet sind. Wie kann ich diese Dateien in Java vergleichen, indem ich die Reihenfolge ignoriere? Freundliche Grüße!

Antworten:

2 für die Antwort № 1

Hier ist der Code, den du willst:

 Scanner input1= new Scanner(new File("C:/file1.txt");
Scanner input2= new Scanner(new File("C:/file2.txt");
String one= input1.nextLine();//assuming files contain only one line
String two= input2.nextLine();//assuming files contain only one line
Set<String> set1 = new HashSet<String>(Arrays.asList(one.split(";"));
Set<String> set2 = new HashSet<String>(Arrays.asList(two.split(";"));

System.out.println(set1.equals(set2));

1 für die Antwort № 2

Fügen Sie alle Elemente zu Mengen hinzu und vergleichen Sie die Mengen. Hinweis: Sets ignorieren Duplikate.

Oder Sie können alle Elemente sortieren und die vergleichenErgebnisse. Wie Sie sie sortieren, spielt keine Rolle, vorausgesetzt, die Sortierung ist konsistent. Das heißt, die ursprüngliche Reihenfolge ändert das Ergebnis nicht. Verwenden Sie diese Option, wenn Duplikate vorhanden sind.