fork download
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.io.IOException;
  6.  
  7. class Pessoa{
  8. public String nome;
  9.  
  10. public Pessoa(String nome){
  11. this.nome = nome;
  12. }
  13.  
  14. }
  15.  
  16.  
  17. class Main{
  18.  
  19. public static void main(String args[]) throws IOException {
  20.  
  21. List<Pessoa> uma_lista = new ArrayList<Pessoa>();
  22. String nome_da_pessoa;
  23. // Lendo os nomes das pessoas, um por linha. Apertar ctrl+d quando n√£o quiser mais incluir nomes
  24. while ((nome_da_pessoa=leitor.readLine())!= null) {
  25. Pessoa uma_pessoa = new Pessoa(nome_da_pessoa);
  26. uma_lista.add(uma_pessoa);
  27. }
  28.  
  29. // Agora criando um array. Ao criar um é necessário saber quantos elementos irão ter.
  30. // Capturando a quantidade de elementos da lista anterior com a operação size()
  31. Pessoa[] outra_lista = new Pessoa[uma_lista.size()];
  32. int contador_pessoa = 0;
  33. // Para incluir um elemento em um array é necessário saber em qual posição ele será encontrado.
  34. // para cada elemento na primeira lista é incrementado um contador, que é usado no array para
  35. // definir qual posicao ele ser√° incluido.
  36. for (Pessoa p: uma_lista){
  37. outra_lista[contador_pessoa] = p;
  38. contador_pessoa+=1;
  39. }
  40.  
  41. System.out.println("O tamanho da primeira lista é: "+Integer.toString(uma_lista.size()));
  42. System.out.println("O tamanho da segunda lista é: "+Integer.toString(outra_lista.length));
  43. System.out.println("Imprimindo na tela os elementos da primeira lista.");
  44. // Na lista encadeada não é necessário saber o posicionamento dos elementos caso queria mostrar todos
  45. for (Pessoa pessoa: uma_lista) System.out.println("Pessoa: "+pessoa.nome);
  46. System.out.println("Imprimindo na tela os elementos da segunda lista.");
  47. // Para acessar os elementos de um array é necessário saber a posição de cada elemento
  48. for (int contador=0;contador<outra_lista.length;contador++) System.out.println("Pessoa: "+outra_lista[contador].nome);
  49.  
  50.  
  51. // Caso você tenha chegado até aqui e não tenha entendido nada, não desista.
  52. // Tente entender esse exemplo simples. Aqui a quantidade de elementos est√° definida, logo sendo um array.
  53. int[] de_zero_a_nove = new int[10];
  54. System.out.println("Gerando n√∫meros de 0 a 9");
  55. for (int numero=0;numero<10;numero++){
  56. de_zero_a_nove[numero] = numero;
  57. }
  58. // Agora imprimindo os numeros
  59. System.out.println("Imprime todos os n√∫meros.");
  60. for (int numero=0;numero<10;numero++){
  61. System.out.println(de_zero_a_nove[numero]);
  62. }
  63. }
  64.  
  65. }
  66.  
Success #stdin #stdout 0.05s 213760KB
stdin
Eu
prometo
que
vou
estudar
esse
código
direitinho.
stdout
O tamanho da primeira lista é: 8
O tamanho da segunda lista é: 8
Imprimindo na tela os elementos da primeira lista.
Pessoa: Eu
Pessoa: prometo
Pessoa: que
Pessoa: vou
Pessoa: estudar
Pessoa: esse
Pessoa: código
Pessoa: direitinho.
Imprimindo na tela os elementos da segunda lista.
Pessoa: Eu
Pessoa: prometo
Pessoa: que
Pessoa: vou
Pessoa: estudar
Pessoa: esse
Pessoa: código
Pessoa: direitinho.
Gerando n√∫meros de 0 a 9
Imprime todos os n√∫meros.
0
1
2
3
4
5
6
7
8
9