Avatar ·

Quando usar LinkedList em vez de ArrayList em Java?

Olá a todos! Sou novo em Java e estou tentando entender as coleções. Li que existem ArrayList e LinkedList, mas não consigo entender quando é melhor usar cada um deles.\n\nPor exemplo, preciso armazenar uma lista de tarefas em um aplicativo de planejamento. Frequentemente adiciono novas tarefas ao final da lista e, às vezes, removo do meio. Aqui está um exemplo do meu código:\n\n```java\nList tasks = new ArrayList<>();\ntasks.add("Comprar mantimentos");\ntasks.add("Fazer lição de casa");\ntasks.add("Ligar para um amigo");\ntasks.add("Ir à academia");\n\n// Às vezes removo uma tarefa do meio\ntasks.remove(1); // Removo "Fazer lição de casa"\n```\n\nCom ArrayList tudo funciona, mas ouvi dizer que remover do meio é uma operação lenta. LinkedList parece ser melhor para inserções e remoções frequentes. Mas tem mais overhead de