Ich habe eine Liste, die Duplikate & enthält, um sie zu entfernen. Meine Liste ist von der FormJava - HashSet zum Filtern von Duplikaten (XSSFCell)
List<List<XSSFCell>> results;
Eine Probe von Daten in die 'Ergebnisse' Liste gespeichert ist:
- [ABC, 123, 22-Apr-2016]
- [DEF, 456 , 22-Apr-2016]
- [ABC, 123, 22-Apr-2016]
- [ABC, 123, 10-Jan-2016]
Auf der Grundlage dieser Link habe ich versucht, den Code unten:
Set<List<XSSFCell>> hashSetResults = new LinkedHashSet<>(results);
Erwartete Ausgabe lautet:
- [ABC, 123, 22-Apr-2016]
- [DEF, 456, 22-Apr- 2016]
- [ABC, 123, 10-Jan-2016]
Aber es ist nicht das Duplikat & die gesamte Liste zu entfernen wird gespeichert in der Satz. Die Hoffnung ist klar in Bezug auf das Thema konfrontiert, suchen Sie Führung.
Dies ist, weil Sie eine Liste von Objekten übergeben, wie Sie es beheben müssen ein wenig zu denken –
Sind die einzelnen 'XSSFCell' Einträge gleich (mit der' equals() 'Methode)? Wenn die Listen tatsächlich gleich sind (über 'equals()'), sollte Ihr Ansatz funktionieren. –
Ich überprüfte das JavaDoc und ein 'XSSFCell'-Objekt hat einen Zeilen- und Spaltenindex. Obwohl zwei Zellen in zwei Listen logisch gleich sind, können sie nicht über 'equals()' gleich sein. –