1. 如何将1千万个数据加到List中
ArraysList可以存下,但是效率低,可以使用LinkedList。
2. 两个1千万List如何找到,A中有,但B中没有的元素。
可以将List转成HashSet,使用HashSet的retainAll方法。retainAll作用是保留集合中与另一个集合相同的元素,即取交集
3. 使用HashSet的retainAll()方法与直接使用ArrayList的retainAll()方法在效率上会有一定的差异吗?
HashSet的retainAll()方法比ArrayList的retainAll()方法更快
(1) 查找速度:HashSet基于哈希表,查找元素的时间复杂度平均为O(1),而ArrayList基于数组,查找元素的时间复杂度为O(n)。因此,在HashSet中进行查找操作更快。
(2) 去重:使用HashSet可以确保两个集合中的元素没有重复,因为HashSet本身不允许存储重复元素。而ArrayList在保留交集时,可能需要进行额外的去重操作,增加了额外的开销。
(3) 集合操作:HashSet的retainAll()方法是基于集合操作的,通过哈希表的交集运算来快速得到结果。而ArrayList的retainAll()方法是基于循环遍历来实现的,效率相对较低。
标签:千万个,HashSet,ArrayList,元素,List,retainAll,加到,查找 From: https://www.cnblogs.com/yifanSJ/p/17580749.html