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