Saltar para: Post [1], Comentários [2], Pesquisa e Arquivos [3]



O ArrayList, que faz parte do Java Collections Framework (JCF), é uma função bastante útil que nos permite criar Arrays dinâmicos, e ainda oferece-nos muitos métodos bastante úteis para manipular o conteúdo do mesmo.

Com este artigo, irei demonstrar como se cria um ArrayList para guardar Strings, neste exemplo, iremos guardar o nome de professores.

Passemos à acção:

Primeiro, temos de importar o pacote que contém as ArrayLists:

import java.util.*;

Se desejar, poderá também importar o seguinte pacote:

import static java.lang.System.out;

Desta forma, irá evitar estar sempre a escrever o palavrão "System.out.println", bastando apenas escrever out.println , por exemplo.

Agora, dentro da classe, iremos declarar a ArrayList:

//Declaração da ArrayList
ArrayList<String> professores = new ArrayList<String>();

Aí está, uma ArrayList do tipo String com o nome professores, de tamanho infinito (podiamos limitar o tamanho escrevendo entre os () o número máximo de registos que a ArrayList pode conter no máximo).

Agora, vamos criar um método que adiciona 3 registos:

public void adicionaProfs()
{
professores.add("Jorge");
professores.add("Paulo");
professores.add("Silvio");
}


Como pode ver, é bastante simples adicionar um elemento à ArrayList, bastando para isso usar o método add().

Mais exemplos de operações numa arrayList:


  • Adicionar um novo professor com nome a ser introduzido pelo utilizador:


public void criarNovoProf(String nome)
{
professores.add(nome);
out.println ("Foi adicionado um professor com o nome "+nome);
}



  • Listar o nome de todos os professores:

  • public void listarProfessores()
    {
    out.println("Lista de Professores");
    for (String nome : professores)
    out.println(nome);
    out.println("========================================");
    }



  • Escrever no ecrã, o número total de registos:


public void tamanhoDaLista()
{
int a = professores.size();
out.println("A lista tem "+a+" elementos");
out.println("==========================");
}



  • Verifica, se um nome introduzido pelo utilizador, existe na ArrayList:

  • public void existe(String nome)
    {
    int i=0;
    for (String profs : professores)
    {
    if (profs.contains(nome)==true)
    {
    i++;
    }
    }
    if (i==0)
    out.println("Não Existe");
    if (i>0)
    out.println("Foram encontradas "+i+" ocorrencias do nome "+nome);
    out.println("=================================================");
    }



  • Apaga todos os registos da ArrayList


public void apagarTudo()
{
professores.clear();
out.println("Todos os registos foram apagados");
}



  • Apaga um elemento cujo nome é introduzido pelo utilizador

  • public void apagaElemento(String nome)
    {
    professores.remove(nome);
    }



  • Verifica se a ArrayList está vazia:

  • public void verificarVazio()
    {
    if (professores.isEmpty()==true)
    out.println("Está Vazio");
    else if (professores.isEmpty()==false)
    out.println("Não está vazio");
    }


    Pode encontrar muitos mais métodos para usar nas ArrayLists neste site:

    http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html

    Se quiser o código pronto a testar no Bluej, está aqui disponivel para copy paste:

    /**
    * Programa que usa uma ArrayList para guardar os nomes
    * dos professores.
    * Permite a utilização de vários métodos nessa
    * ArrayList.
    *
    * @author Fábio Domingos
    * @version 1.0
    */
    import java.util.*;
    import static java.lang.System.out; 


    public class List
    {
    //Declaração da ArrayList
    ArrayList<String> professores = new ArrayList<String>();
    //Adiciona 3 professores à lista
    public void adicionaProfs()
    {
    professores.add("Jorge");
    professores.add("Paulo");
    professores.add("Silvio");
    out.println("Foram adicionados automaticamente 3 professores");
    out.println("==============================================");
    }
    //Adiciona à lista um professor com nome definido pelo utilizador
    public void criarNovoProf(String nome)
    {
    professores.add(nome);
    out.println ("Foi adicionado um professor com o nome "+nome);
    out.println ("===========================================");
    }
    public void listarProfessores()
    {
    out.println("Lista de Professores");
    for (String nome : professores)
    out.println(nome);
    out.println("========================================");
    }
    public void tamanhoDaLista()
    {
    int a = professores.size();
    out.println("A lista tem "+a+" elementos");
    out.println("==========================");
    }
    public void existe(String nome)
    {
    int i=0;
    for (String profs : professores)
    {
    if (profs.contains(nome)==true)
    {
    i++;
    }
    }
    if (i==0)
    out.println("Não Existe");
    if (i>0)
    out.println("Foram encontradas "+i+" ocorrencias do nome "+nome);
    out.println("=================================================");
    }
    public void apagarTudo()
    {
    professores.clear();
    out.println("Todos os registos foram apagados");
    }
    public void apagaElemento(String nome)
    {
    professores.remove(nome);
    }
    public void verificarVazio()
    {
    if (professores.isEmpty()==true)
    out.println("Está Vazio");
    else if (professores.isEmpty()==false)
    out.println("Não está vazio");
    }
    }


Bom, espero que tenham gostado, dúvidas e questões nos comentários. Obrigado.

Autoria e outros dados (tags, etc)

publicado às 19:27
editado por Fábio Domingos em 18/8/10 às 02:49


23 comentários

De Andriano a 06.07.2011 às 21:09

Fábio, o artigo parece-me excelente.

Sou um principiante e como tal não consigo visualizar o conteúdo no ecran do computador com NetBeans.

Parece-me que falta a class main para que tal seja possível.

Como é que se implementa a class main?

Obrigado

Adriano

De Fábio Domingos a 11.08.2011 às 13:20

Obrigado pelo comentário.
Desculpa o atraso, espero ainda hoje colocar a parte 2 deste artigo onde irei explicar como fazer o que pediste.

Comentar post



Mais sobre mim


Pesquisar

Pesquisar no Blog

Arquivo

  1. 2013
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  14. 2012
  15. J
  16. F
  17. M
  18. A
  19. M
  20. J
  21. J
  22. A
  23. S
  24. O
  25. N
  26. D
  27. 2011
  28. J
  29. F
  30. M
  31. A
  32. M
  33. J
  34. J
  35. A
  36. S
  37. O
  38. N
  39. D
  40. 2010
  41. J
  42. F
  43. M
  44. A
  45. M
  46. J
  47. J
  48. A
  49. S
  50. O
  51. N
  52. D
  53. 2009
  54. J
  55. F
  56. M
  57. A
  58. M
  59. J
  60. J
  61. A
  62. S
  63. O
  64. N
  65. D
  66. 2008
  67. J
  68. F
  69. M
  70. A
  71. M
  72. J
  73. J
  74. A
  75. S
  76. O
  77. N
  78. D
  79. 2007
  80. J
  81. F
  82. M
  83. A
  84. M
  85. J
  86. J
  87. A
  88. S
  89. O
  90. N
  91. D