首页 > 试题广场 >

LinkedList链表和ArrayList数组表有什么不同

[问答题]
LinkedList链表和ArrayList数组表有什么不同?
Linkedlist底层实现是相互引用节点组成的双向链表,所以它增删快,因为他每次增删只需要改变引用节点的关系即可,使他们指向新的节点,并且和arraylist想比,他没有实现randomaccess接口,所以它不能随机访问,只能顺序访问,每次查询都是全部查询出来,所以查询要慢一些。 Arraylist底层实现是数组,并且实现了randomaccess接口,使用index下标进行访问可以随机访问,所以查询效率要比linkedlist高一些,但是它增删效率不如arraylist因为,他每次增删都需要创建一个新的数组把要保存的放到新的数组,然后可能会触发它的扩容机制,默认大小是10每次扩容1.5倍,而linkedlist没有默认大小,每次都是在后边追加,不存在扩容
发表于 2020-02-27 23:24:52 回复(0)

LinkedList底层结构是链表无论查询 删除 还是插入速度都很快

ArrayList底层是数组 删除和插入效率低

发表于 2019-11-10 09:49:49 回复(0)