我有一個變量品牌,類型和日期pojo,我創建了一個使用這個pojo的Arraylist。這ArrayList是重複的,現在我想通過僅比較該對象的品牌和類型來刪除arraylist中的重複。如果品牌和類型已經存在,我需要從arraylist中刪除該對象。如何比較java中arraylist對象的兩個變量
0
A
回答
0
覆蓋equals()& hahscode(根據您的變量添加類),然後使用LinkedHashSet,而不是ArrayList的和所有的工作都將自動完成。
+0
它的工作表示感謝 –
0
如果您無法或不願意更改POJO的equals()
方法,則必須使用Map來爲每個不同的品牌+類型對收集一個樣本。
下面是一個例子代碼段此使用流,其作用:
list = new ArrayList(list.stream().unordered()
.collect(Collectors.toMap(
pojo -> new Pair<>(pojo.brand, pojo.type),
pojo -> pojo,
(original, duplicate) -> original)).values());
或者,也可以包裝在一個包裝對象定義僅基於品牌和類型equals
每個POJO,然後用簡單的distinct()
流過濾器,最後解開每個結果。
相關問題
- 1. 比較兩個對象,java
- 2. 如何比較兩個java對象
- 3. 如何比較兩個ArrayList
- 4. 如何兩個對象比較對象
- 5. 比較兩個ArrayList
- 6. 如何比較java中最大的arraylist中的兩個日曆?
- 7. 如何比較兩個變量的值
- 8. 如何比較Java中的兩個「Comparable」類型變量?
- 9. 如何在java中比較兩個不同的列表對象?
- 10. 在Java中,如何比較兩個對象的值?
- 11. 的Java:比較兩個的ArrayList其中包含內的ArrayList
- 12. Java:比較兩個對象列表
- 13. 如何比較java中的兩個Arraylist值?
- 14. 如何比較兩個CGSize變量?
- 15. 如何比較兩個獨立對象中的兩對整數?
- 16. 的Java如何比較2 ArrayList的不同對象的
- 17. 如何比較兩個對象數組?
- 18. 如何比較兩個Struct對象?
- 19. 如何比較兩個對象數組
- 20. 如何打字比較兩個對象?
- 21. 我如何比較兩個對象
- 22. 如何比較兩個對象Moment.js
- 23. 如何比較兩個整數對象?
- 24. 如何比較兩個複雜對象?
- 25. 如何比較兩個數組對象
- 26. 比較兩個bash變量
- 27. PowerShell:比較兩個變量
- 28. PHP - 比較兩個變量
- 29. 比較兩個TDateTime變量
- 30. 比較兩個變量C
你可以有一個代碼片段或代碼示例? – msagala25
覆蓋equals()&hahscode()並使用list1.removeAll(list2) – developer
如果具有相同的品牌和類型(不看日期),執行'equals()'聲明兩個對象相等。結果,'hashCode()'也不應該看日期。 –