Adicionar elementos em um ArrayList manualmente

Olá pessoal, estou com uma dúvida em relação à ArrayList: como faço pra adicionar elementos manualmente, do mesmo jeito que faz com um array normal?

Pode dar um exemplo do que seria inserir “manualmente” em um array normal? E como você espera que isso funcione em um ArrayList?

Se fala de inserir em uma posição específica usando um índice, pode usar o add() com 2 parâmetros, mas o índice precisa ser uma posição válida (menor ou igual ao total ocupado). Ex: 2CKphW - Online Java Compiler & Debugging Tool - Ideone.com

Abraço.

Eu também entendi como o @TerraSkilll.

Se for isso mesmo, vc tem que ter em mente que em Java um array de objetos já começa preenchido com valores null.

Então vc precisaria simular este comportamento com ArrayList, para isso vc poderia fazer algo assim:

import java.util.ArrayList;
import java.util.Arrays;

public class App {
  public static void main(String... args) {
    ArrayList<String> list = new ArrayList<String>(Arrays.asList(new String[3]));

    list.set(2, "A");
    list.set(1, "B");
    list.set(0, "C");

    System.out.println(list);
  }
}

Mas se não precisar ser exatamente o java.util.ArrayList, vc poderia deixar o código mais simples assim:

import java.util.Arrays;
import java.util.List;

public class App {
  public static void main(String... args) {
    List<String> list = Arrays.asList(new String[3]);

    list.set(2, "A");
    list.set(1, "B");
    list.set(0, "C");

    System.out.println(list);
  }
}

A diferença é que neste segundo exemplo vc não pode usar o método add() e nenhum outro método que altere o tamanho da lista como remove().

Pra ficar melhor de entender, do mesmo jeito que adicionamos manualmente em um array, por exemplo, String[] nomes = {“Thiago”, “Rose”, “Maria”};
queria fazer do mesmo jeito em um ArrayList.

List<String> nomes = Arrays.asList("Thiago", "Rose", "Maria");

A lista retornada não é obrigatoriamente um ArrayList. Veja a documentação: Arrays (Java Platform SE 8 )…-

Pelo que entendi, é impossível por um ArrayList. Somente com List mesmo.
Valeu pelas respostas pessoal.

List é uma interface. ArrayList é uma implementação da interface List. Se vc quer MESMO um ArrayList, isso deve bastar:

List<String> nomes = new ArrayList<>( Arrays.asList("Thiago", "Rose", "Maria") );

ou

ArrayList<String> nomes = new ArrayList<>( Arrays.asList("Thiago", "Rose", "Maria") );
1 curtida

Entendi. Valeu david.