如何将1千万个数据加到List中

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()方法是基于循环遍历来实现的,效率相对较低。

posted @ 2023-07-25 18:25  yifanSJ  阅读(223)  评论(0编辑  收藏  举报