ArrayList和LinkedList的区别是什么?

ArrayList和LinkedList都是Java中的集合框架,它们都实现了List接口,但它们的内部实现不同。ArrayList是通过数组实现的,而LinkedList是通过链表实现的。

主要的区别在于它们对于插入和删除操作的效率不同。在ArrayList中,如果需要插入或删除一个元素,需要移动后续的元素,因为ArrayList中的元素是连续存储的。而在LinkedList中,插入或删除一个元素只需要改变前后元素的指针,不需要移动其他元素。

接下来我们看一下ArrayList示例代码:

import java.util.ArrayList;public class ArrayListDemo {    public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        // 添加元素        arrayList.add("A");        arrayList.add("B");        arrayList.add("C");        arrayList.add("D");        // 在指定位置插入元素        arrayList.add(2, "E");        // 删除元素        arrayList.remove("B");        // 遍历元素        for (String str : arrayList) {            System.out.print(str + " ");        }    }}

LinkedList示例代码:

import java.util.LinkedList;public class LinkedListDemo {    public static void main(String[] args) {        LinkedList<String> linkedList = new LinkedList<>();        // 添加元素        linkedList.add("A");        linkedList.add("B");        linkedList.add("C");        linkedList.add("D");        // 在指定位置插入元素        linkedList.add(2, "E");        // 删除元素        linkedList.remove("B");        // 遍历元素        for (String str : linkedList) {            System.out.print(str + " ");        }    }}

这两个示例代码都展示了对于集合的添加、插入、删除和遍历操作,但它们的内部实现方式不同,所以它们的执行效率也会有所不同。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/261713.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2023年4月26日 21:18
下一篇 2023年4月26日 23:15

相关推荐

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息