Buenas Pepote21, al hacer pruebas he obtenido algo parecido a lo que indicadas (en mi caso unos 8.000.000 de tiempo con ArrayList frente a 24.000.000 con LinkedList aproximadamente). El tiempo invertido depende del computador sobre el que se ejecute el código.
En mi caso he obtenido esto:
EJECUCIONES CON LINKEDLIST
Resumen: hay 1238 coches, 1278 camiones, 1261 furgonetas y 1223 motos.
Se han eliminado de la lista 3762 vehiculos quedando 1238 coches
Se han invertido 23901571 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
Resumen: hay 1280 coches, 1260 camiones, 1231 furgonetas y 1229 motos.
Se han eliminado de la lista 3720 vehiculos quedando 1280 coches
Se han invertido 33130768 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
Resumen: hay 1247 coches, 1264 camiones, 1245 furgonetas y 1244 motos.
Se han eliminado de la lista 3753 vehiculos quedando 1247 coches
Se han invertido 21486611 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
EJECUCIONES CON ARRAYLIST
Resumen: hay 1235 coches, 1267 camiones, 1271 furgonetas y 1227 motos.
Se han eliminado de la lista 3765 vehiculos quedando 1235 coches
Se han invertido 6992139 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
Resumen: hay 1225 coches, 1268 camiones, 1225 furgonetas y 1282 motos.
Se han eliminado de la lista 3775 vehiculos quedando 1225 coches
Se han invertido 9395982 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
Resumen: hay 1272 coches, 1230 camiones, 1226 furgonetas y 1272 motos.
Se han eliminado de la lista 3728 vehiculos quedando 1272 coches
Se han invertido 9999829 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.
Hay una cosa que no me parece correcta en cómo has resuelto el ejercicio: tú no has implementado las listas como LinkedList ni como ArrayList, sino dentro de una clase creada por tí donde tienes como atributo de clase un LinkedList ó ArrayList. Es decir, no has trabajado indirectamente con las clases estructuras de datos en Java, sino indirectamente. Eso puede tener consecuencias que habría que analizar y no es lo que proponía el ejercicio, por eso veo más correcta una solución como la que se propone en
https://www.aprenderaprogramar.com/foros/index.php?topic=5781.0El ejercicio tal y como lo has planteado, desde mi punto de vista, no cumple con lo que se pedía
Salu2