Avatar ·

Cuándo usar LinkedList en lugar de ArrayList en Java?

¡Hola! Empecé a estudiar Java y me encontré con el problema de elegir entre LinkedList y ArrayList. Entiendo que ambos implementan la interfaz List, pero no puedo entender en qué situaciones usar cuál. Escribí una prueba simple: ```java List arrayList = new ArrayList<>(); List linkedList = new LinkedList<>(); // Agregar 100000 elementos 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 mostró aproximadamente 15-20 ms, y LinkedList — 25-30 ms. Pero escuché que LinkedList es más rápido al insertar en el medio. Probé: ```java // Insertar en el medio start = System.nanoTime(); arrayList.add(50000, "INSERTED"); end = S