租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

java中arraylist和linkedlist有什么不同,java array arraylist 区别

发布时间:2023-10-26 16:43:27

java中arraylist和linkedlist有甚么不同

ArrayList和LinkedList都是Java中经常使用的集合类,它们的主要不同以下:

  1. 底层数据结构区分:ArrayList底层使用数组实现,而LinkedList底层使用双向链表实现。

  2. 插入和删除操作效力区分:ArrayList在中间位置进行插入和删除操作时,需要将插入点以后的所有元素往后移动,所以效力较低;而LinkedList在中间位置进行插入和删除操作时,只需要修改前后节点的指针,所以效力较高。

  3. 查询操作效力区分:ArrayList通过索引直接访问元素,所以查询效力较高;而LinkedList需要从头节点开始遍历,直到找到对应的元素,所以查询效力较低。

  4. 内存占用区分:ArrayList需要预先分配一定大小的连续内存空间,所以在添加元素时可能会造成内存浪费;而LinkedList每一个元素都包括前后节点的援用,所以在存储大量元素时会占用更多的内存。

总结来讲,如果需要频繁进行插入和删除操作,且对查询操作的效力要求不高,可以选择使用LinkedList;如果需要频繁进行查询操作,且对插入和删除操作的效力要求不高,可以选择使用ArrayList。