2016-04-28 62 views
0

我有一個包含重複項&需要刪除它們的列表。我的目錄的形式是Java - HashSet過濾器重複項(XSSFCell)

List<List<XSSFCell>> results; 

存儲在列表 '結果' 的數據的樣品的:

  • [ABC,123,22-APR-2016]
  • [DEF,456 ,22-APR-2016]
  • [ABC,123,22-APR-2016]
  • [ABC,123,10-JAN-2016]

在此基礎上Link我嘗試下面的代碼:

Set<List<XSSFCell>> hashSetResults = new LinkedHashSet<>(results); 

預期輸出是:

  • [ABC,123,22-APR-2016]
  • [DEF,456,22-APR- 2016年]
  • [ABC,123,10-JAN-2016]

但它不刪除重複的&整個列表被保存在集合。希望在面臨的問題上明確,尋求指導。

+0

這是因爲你正在傳遞對象列表,所以如何解決它需要一點思考 –

+0

各個'XSSFCell'條目是否相等(使用equals()方法)?如果列表實際上是相等的(通過'equals()'),我認爲你的方法應該工作。 –

+0

我檢查了JavaDoc並且一個'XSSFCell'對象有一個行和列索引。因此,儘管兩個列表中的兩個單元在邏輯上可能相等,但它們不能通過「equals()」相等。 –

回答

0

您應該重寫XSSFCell等號的方法。