java中的ArrayList和LinkedList

【学习总结】

在java中常用的list有两种:ArrayList和LinkedList

ArrayList擅长查找元素

LinkedList擅长增删元素

ArrayList的底层是数组,这也就导致了它不论数据量大小,查找元素速度都特别快,因为数组结构,每一个元素都有对应的索引;如果想在ArrayList中进行增删操作,则需要新增元素位置后的所有元素都向后挪一位,速度自然很慢。

LinkedList的底层是双向链表,如果想通过linkedList去查找元素,需要先挨个给各个元素添加上索引,再去根据索引查找。数据量越大,速度越慢。而如果是增删元素,只需要把新增元素前后两个元素的连接删除,在将新增元素与前后两个元素分别建立双向指向。也就是影响的只是这两个元素,所以LinkedList增删很快。



redis中的list采用的就是LinkedList。

为什么redis选择了链表?

Redis操作中,最多的操作是进行元素的增删。

使用环境:

   做大数据集合的增删

  任务队列

猜你喜欢

转载自blog.csdn.net/luo_yu_1106/article/details/79986123