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]
但它不刪除重複的&整個列表被保存在集合。希望在面臨的問題上明確,尋求指導。
這是因爲你正在傳遞對象列表,所以如何解決它需要一點思考 –
各個'XSSFCell'條目是否相等(使用equals()方法)?如果列表實際上是相等的(通過'equals()'),我認爲你的方法應該工作。 –
我檢查了JavaDoc並且一個'XSSFCell'對象有一個行和列索引。因此,儘管兩個列表中的兩個單元在邏輯上可能相等,但它們不能通過「equals()」相等。 –