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") );
Entendi. Valeu david.