首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ArrayList和LinkedList的区别是什么?

ArrayList和LinkedList的区别是什么?

原创
作者头像
曾高飞
发布于 2025-05-30 19:08:40
发布于 2025-05-30 19:08:40
3900
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 + " ");
        }
    }
}

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验