Métodos de List em Java
Mantenha um ArrayList<String> chamado tags, adicione oak e depois pine, e leia o primeiro valor com tags.get(0). Compile Rack.java e execute java Rack. A tela deve mostrar uma linha: oak. A chamada get(0) escolhe a posição zero. Demos posteriores nesta página mostram size() imprimindo 2 e remove(0) deixando [pine]. Ler uma posição, contar e remover uma posição é o que esta página ensina.
Ler uma posição com get
Na página de ArrayList você imprimiu a lista inteira e viu [oak, pine]. Essa impressão completa ainda funciona. Esta página alcança um valor de cada vez. A chamada tags.get(0) devolve a palavra na posição zero. Os números de posição começam em zero, a mesma ideia de plants[0] na página de arrays, mas a chamada usa parênteses: get(0), não colchetes sozinhos depois do nome.
Abra Rack.java. Mantenha o nome da classe pública Rack para combinar com o arquivo. Apague o System.out.println(tags); sobrando como única linha de ensino se você copiou Shelf ao pé da letra — o primeiro arquivo guardado desta página imprime tags.get(0) no lugar. Apague também qualquer Scanner, nextLine, Bell.ring() ou demo de package. O programa não deve esperar digitação.
Perto do topo, acima de public class Rack, mantenha:
import java.util.ArrayList;
Dentro de main, crie a lista e adicione as mesmas duas palavras:
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
Depois escreva:
System.out.println(tags.get(0));
Passe 0 dentro dos parênteses. Não escreva tags[0]. Não imprima a lista inteira como caminho obrigatório desta primeira demo. Salve antes de compilar.
import java.util.ArrayList;
public class Rack {
public static void main(String[] args) {
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
System.out.println(tags.get(0));
}
}
Da pasta que guarda Rack.java, execute javac Rack.java. Quando parênteses, chaves, ângulos e ponto e vírgula coincidem, javac não escreve linha própria. Depois execute java Rack — não java Rack.java nem java ArrayList. Tire o final .java do comando de execução.
O programa deve imprimir uma linha e parar: oak. Não pede para você digitar. Se o terminal espera teclado, ainda há uma chamada nextLine de um exercício antigo em algum arquivo. Apague essa chamada e mantenha a criação, as duas linhas add e System.out.println(tags.get(0));.
Percorra a execução uma vez. Java começa em Rack.main. A lista cresce com dois adds. get(0) devolve oak. A linha de impressão escreve essa palavra. A tela mostra oak. Nada mais deve imprimir. Se você vê [oak, pine], ainda está imprimindo a lista inteira. Troque a linha para tags.get(0). Se vê ding ou 9, um Porch ou Pier antigo ainda está rodando — use java Rack.
Se por engano você mantém get(1) como impressão, a tela mostra pine. É Java válido, mas não é o arquivo que esta página guarda para a primeira demo. Mantenha get(0) para a tela ser oak. Se chamar get(2) depois de só dois adds, o programa lança erro em tempo de execução porque a posição dois nunca foi preenchida. Fique com get(0) aqui.
Contar com size
Uma segunda demo pergunta quantos valores há na lista. Depois dos mesmos dois adds, chame tags.size() e imprima esse número.
import java.util.ArrayList;
public class Rack {
public static void main(String[] args) {
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
System.out.println(tags.size());
}
}
Compile e execute do mesmo jeito: javac Rack.java, depois java Rack. A tela mostra 2. O método size() devolve um número inteiro. Não imprime as palavras. Se a tela mostra [oak, pine], você imprimiu a lista em vez de size(). Se mostra oak, ainda tem o print de get(0) da primeira demo. No segundo arquivo mantenha só System.out.println(tags.size()); depois dos dois adds.
Não invente tags.length em um ArrayList nesta página. Arrays fixos usam .length. Listas usam .size(). Misturar esses nomes é resto comum da página de arrays. Mantenha size() para a lista.
Remover uma posição com remove
Uma terceira demo remove a posição zero e depois imprime a lista restante.
import java.util.ArrayList;
public class Rack {
public static void main(String[] args) {
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
tags.remove(0);
System.out.println(tags);
}
}
Compile e execute de novo. Depois de remove(0), oak sumiu. Pine desliza para a posição zero. Imprimir a lista mostra [pine]. A tela não é mais [oak, pine]. Se imprimir tags.get(0) depois do remove em vez da lista inteira, veria só pine — forma boa como checagem, mas o terceiro arquivo guardado imprime a lista para você ver os colchetes com uma palavra restante.
Chame remove com um número de posição que exista. Depois de dois adds, remove(0) e remove(1) são ambos legais antes de qualquer remoção. Esta página mantém remove(0) para oak sair primeiro. Não chame remove(2) em uma lista de duas palavras — essa posição nunca esteve lá.
Comparado com criar ArrayList e add
Na página de ArrayList o arquivo de ensino parava em println(tags) e na tela [oak, pine]. Esta página mantém o mesmo hábito de criar e add, depois acrescenta get, size e remove. Um Shelf sobrando que só imprime a lista inteira é história, não o caminho do quiz aqui. Nesta página execute java Rack com a demo que você está estudando: primeiro get(0), depois size(), depois remove mais impressão.
Você não precisa de um import novo para essas chamadas. Elas pertencem a ArrayList depois que o tipo é importado. Mantenha import java.util.ArrayList; no topo de cada arquivo Rack desta página.
Quando mais tarde mapear chaves a valores, uma página seguinte — HashMap — abre essa história. Fique com chamadas de list aqui. Não invente put nem sintaxe de map como exigência nesta página.
O que fica para HashMap
Esta página fecha o kit básico de list: ler uma posição, contar valores, remover uma posição. A próxima página abre outra coleção em que cada entrada tem chave e valor. Fique com get, size e remove em ArrayList aqui. Não escreva linhas HashMap nas demos Rack.
Quando arquivos antigos Shelf.java ainda ficarem por perto, deixe-os ou apague-os só se confundirem qual classe você executa. Execute java Rack depois de compilar o arquivo da demo pretendida.
Antes de HashMap
Você pode manter ArrayList<String> tags, adicionar oak e pine, imprimir tags.get(0) para ver oak, imprimir tags.size() para ver 2, e depois de tags.remove(0) imprimir a lista para ver [pine]. Compile Rack.java e execute java Rack em cada demo guardada. Os métodos de list fizeram o trabalho. A próxima página é HashMap, onde uma chave aponta para um valor em um objeto.
Mantenha o import. Mantenha os dois adds antes de get, size ou remove. Mantenha a posição zero como índice de ensino nesta página. Esses hábitos são o ponto de verificação antes de avançar. Quando get(0) mostrar oak e size() mostrar 2, você está pronto para o próximo tema.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo