[英]List of unique lists in java
我需要在 java 中創建一個獨特的集合。有人可以為相同的容器建議可能的容器。
我想要類似List<List<int>>
的東西,其中每個列表都可以根據其內容重復自身。
例如,如果我當前的父列表 state 是[ [1,2,3], [3,4,5], [4,5,6] ]
,如果我打算添加另一個列表,請說[3,4,5]
,它不應該被復制,也不應該被添加。
List 的 contains() 方法適用於整數、浮點數等,但我不確定它是否能夠匹配列表。
請建議任何其他可能有幫助的容器。
謝謝。
您可能最好使用Set<List<Integer>>
而不是List<List<Integer>>
。
以上適用於您的示例:
Set<List<Integer>> uniqueLists = new HashSet<>();
uniqueLists.add(Arrays.asList(1, 2, 3));
uniqueLists.add(Arrays.asList(3, 4, 5));
uniqueLists.add(Arrays.asList(4, 5, 6));
// Now, this won't be added:
uniqueLists.add(Arrays.asList(3, 4, 5));
不過,將集合放入集合中時要小心。 將它放入集合后,不應再次更改它。
也許您會對使用Set<Set<Integer>>
感興趣。
如果您想維護添加順序,可以使用LinkedHashSet
。
你的代碼會像
Set<Set<Integer> uniqueLists = new LinkedHashSet<Set<Integer>>();
uniqueLists.add(new LinkedHashSet(Arrays.asList(1, 2, 3)));
它將避免使用Set<List<Integer>>
的兩個問題。
1)它將保留單個列表的添加順序
2)它的個人列表也不會有重復的 integer 條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.