更新時(shí)間:2023年03月31日13時(shí)43分 來(lái)源:傳智教育 瀏覽次數(shù):
ArrayList和LinkedList都是Java中的集合框架,它們都實(shí)現(xiàn)了List接口,但它們的內(nèi)部實(shí)現(xiàn)不同。ArrayList是通過(guò)數(shù)組實(shí)現(xiàn)的,而LinkedList是通過(guò)鏈表實(shí)現(xiàn)的。
主要的區(qū)別在于它們對(duì)于插入和刪除操作的效率不同。在ArrayList中,如果需要插入或刪除一個(gè)元素,需要移動(dòng)后續(xù)的元素,因?yàn)锳rrayList中的元素是連續(xù)存儲(chǔ)的。而在LinkedList中,插入或刪除一個(gè)元素只需要改變前后元素的指針,不需要移動(dòng)其他元素。
接下來(lái)我們看一下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 + " "); } } }
這兩個(gè)示例代碼都展示了對(duì)于集合的添加、插入、刪除和遍歷操作,但它們的內(nèi)部實(shí)現(xiàn)方式不同,所以它們的執(zhí)行效率也會(huì)有所不同。
北京校區(qū)