Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表的Linkedlist与ArrayList实现_Java_List - Fatal编程技术网

Java 列表的Linkedlist与ArrayList实现

Java 列表的Linkedlist与ArrayList实现,java,list,Java,List,可能重复: 这两个列表有什么区别?它们都实现了接口List在什么情况下,您会在ArrayList上面使用LinkedList?一个经典的面试问题 读这篇文章:或者只是谷歌一下,这上面有很多信息 在日常编程中,很少使用LinkedList。但是,您应该明确理解其中的差异。如果添加和删除元素的频率更高,请使用链表。在arraylist中,如果要从中间删除一个元素,则必须移动该元素之后的整个数组以填补空缺位置。但是在链表中,每个元素都有指向下一个元素的链接。因此,删除一个元素需要将其上一个元素的指针

可能重复:


这两个列表有什么区别?它们都实现了接口
List
在什么情况下,您会在ArrayList上面使用LinkedList?

一个经典的面试问题

读这篇文章:或者只是谷歌一下,这上面有很多信息


在日常编程中,很少使用LinkedList。但是,您应该明确理解其中的差异。

如果添加和删除元素的频率更高,请使用链表。在arraylist中,如果要从中间删除一个元素,则必须移动该元素之后的整个数组以填补空缺位置。但是在链表中,每个元素都有指向下一个元素的链接。因此,删除一个元素需要将其上一个元素的指针更改为已删除元素的下一个指针

但是,如果您正在寻找更多的随机访问,那么请选择arraylist