Avatar ·

何时使用LinkedList而不是ArrayList?

你好!我开始学习Java,遇到了在LinkedList和ArrayList之间选择的问题。我知道两者都实现了List接口,但无法理解在什么情况下该用哪个。 我写了一个简单的测试: ```java List arrayList = new ArrayList<>(); List linkedList = new LinkedList<>(); // 添加100000个元素 long start = System.nanoTime(); for (int i = 0; i < 100000; i++) { arrayList.add("Element " + i); } long end = System.nanoTime(); System.out.println("ArrayList add: " + (end - start) + " ns"); start = System.nanoTime(); for (int i = 0; i < 100000; i++) { linkedList.add("Element " + i); } end = System.nanoTime(); System.out.println("LinkedList add: " + (end - start) + " ns"); ``` ArrayList显示大约15-20毫秒,而LinkedList是25-30毫秒。但我听说LinkedList在中间插入时更快。我试了一下: ```java // 在中间插入 start = System.nanoTime(); arrayList.add(50000, "INSERTED"); end = S