主页 > 软件开发  > 

list的两个实现类

list的两个实现类

ArrayList:适用于需要频繁随机访问元素

LinkedList:适用于需要频繁进行插入和删除操作,尤其是在列表的头部或尾部进行操作

二者的用法基本一致,只是时间和空间复杂度不同

List<Integer> arrayList = new ArrayList<>(); for (int i = 0; i < 10; i++) { arrayList.add(i); } // 随机访问第 5 个元素 int element = arrayList.get(5); ----------------------------------------------- List<Integer> linkedList = new LinkedList<>(); for (int i = 0; i < 10; i++) { linkedList.add(i); } // 随机访问第 5 个元素 int element = linkedList.get(5); List<Integer> arrayList = new ArrayList<>(); for (int i = 0; i < 10; i++) { arrayList.add(i); } // 在索引为 5 的位置插入元素 100 arrayList.add(5, 100); --------------------------------------------- LinkedList<Integer> linkedList = new LinkedList<>(); for (int i = 0; i < 10; i++) { linkedList.add(i); } // 在索引为 5 的位置插入元素 100 linkedList.add(5, 100); ArrayList:ArrayList 的内存占用相对较小,主要是数组本身的内存开销。但在数组扩容时,会有额外的内存分配和元素复制操作。LinkedList:LinkedList 的每个节点除了存储元素本身外,还需要额外的引用(指向前一个节点和后一个节点),因此内存占用相对较大。

 

 

标签:

list的两个实现类由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“list的两个实现类