gpt4 book ai didi

java - 在 ArrayList 的 ArrayList 中查找唯一的 Arraylist

转载 作者:行者123 更新时间:2023-12-01 13:39:58 29 4
gpt4 key购买 nike

据我了解,ArrayList 类继承其父“List”类的 equals() 函数来查找两个成员对象是否相同。这是否意味着“contains()”线性搜索(使用“equal”)来查找 ArrayList 中的重复条目?那么“包含”的复杂度是 O(n)?

如果我使用ArrayList的ArrayList,那么contains函数的复杂度将是O(n*m)?如果是,那么是否有任何替换 contains 函数可以获取成员 ArrayList 的一些哈希(基于内容)并确认两个 ArrayList 对象相等?

编辑:我只是想查找 ArrayList 的 ArrayList 中唯一元素的数量。像 {{0,0,3},{1,2,3},{0,0,3}} 应该给出 {{0,0,3},{1,2,3}}。

最佳答案

如果您已经有 ArrayList<ArrayList<Integer>>您可以将其传递给 HashSet<ArrayList<Integer>>的构造函数并有一组独特的 ArrayLists

List<ArrayList<Integer>> mylist_list = new ArrayList<ArrayList<Integer>>(); 
ArrayList<Integer> mylist = new ArrayList<Integer>();
...
for(ArrayList<Integer> list : mylist_list)
{
System.out.println(Arrays.toString(list.toArray()));
}
Set<ArrayList<Integer>> mylist_set = new HashSet<ArrayList<Integer>>(mylist_list);

for(ArrayList<Integer> list : mylist_set)
{
System.out.println(Arrays.toString(list.toArray()));
}

产出

[0, 1, 2]
[0, 1, 2]
[0, 1, 2]

将重复项传递到 ArrayList<ArrayList<Integer>>

关于java - 在 ArrayList 的 ArrayList 中查找唯一的 Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912716/

29 4 0