2016-04-28 8 views
0

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.

+0

Dies ist, weil Sie eine Liste von Objekten übergeben, wie Sie es beheben müssen ein wenig zu denken –

+0

Sind die einzelnen 'XSSFCell' Einträge gleich (mit der' equals() 'Methode)? Wenn die Listen tatsächlich gleich sind (über 'equals()'), sollte Ihr Ansatz funktionieren. –

+0

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. –

Antwort

0

sollten Sie XSSFCell gleich Methode überschreiben.