Ich versuche, aus zwei Dateien einzulesen und sie in zwei separaten Arraylists zu speichern. Die Dateien bestehen aus Wörtern, die entweder alleine in einer Zeile stehen oder mehrere Wörter, die durch Kommata getrennt sind. ich jede Datei mit dem folgenden Code lesen (nicht vollständig):Entfernen Sie alle Objekte in einer Arraylist, die in einer anderen Arraylist vorhanden sind
ArrayList<String> temp = new ArrayList<>();
FileInputStream fis;
fis = new FileInputStream(fileName);
Scanner scan = new Scanner(fis);
while (scan.hasNextLine()) {
Scanner input = new Scanner(scan.nextLine());
input.useDelimiter(",");
while (scan.hasNext()) {
String md5 = scan.next();
temp.add(md5);
}
}
scan.close();
return temp;
Ich brauche jetzt zwei Dateien in lesen und alle Worte aus der ersten Datei zu entfernen, die auch in der zweiten Datei vorhanden ist (es gibt einige doppelten Worte in den Dateien). Ich habe versucht mit for-Schleifen und andere solche Sachen, aber nichts hat funktioniert, so würde jede Hilfe sehr geschätzt werden!
Bonus Frage: Ich muss auch herausfinden, wie viele Duplikate in den beiden Dateien sind - ich habe dies getan, indem Sie beide Arraylists zu einem HashSet hinzugefügt und dann die Größe des Satzes von der kombinierten Größe der beiden subtrahiert Arraylisten - ist das eine gute Lösung, oder könnte es besser gemacht werden?
Mögliches Duplikat (http://stackoverflow.com/questions/9933403/subtracting-one-arraylist-from-another-arraylist) –