教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

ArrayList和LinkedList的區(qū)別是什么?

更新時間:2023年03月31日13時43分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

  ArrayList和LinkedList都是Java中的集合框架,它們都實現(xiàn)了List接口,但它們的內部實現(xiàn)不同。ArrayList是通過數(shù)組實現(xiàn)的,而LinkedList是通過鏈表實現(xiàn)的。

  主要的區(qū)別在于它們對于插入和刪除操作的效率不同。在ArrayList中,如果需要插入或刪除一個元素,需要移動后續(xù)的元素,因為ArrayList中的元素是連續(xù)存儲的。而在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 + " ");
        }
    }
}

  這兩個示例代碼都展示了對于集合的添加、插入、刪除和遍歷操作,但它們的內部實現(xiàn)方式不同,所以它們的執(zhí)行效率也會有所不同。

0 分享到:
和我們在線交談!