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 Ivan a 17.11.2010 às 23:38

Cara era tudo que eu estava precisando, me abriu a mente agora, Obrigado!!!
Ivan

De Fábio Domingos a 18.06.2011 às 22:43

Muito obrigado pelo comentário, fico muito feliz por te ter ajudado. Qualquer dúvida que tenhas, utiliza esta secção, que eu estarei disponível para te ajudar.

De Maurício a 30.11.2010 às 16:23

Cara, valeu mesmo, tava uma manhã inteira travado por causa disso.

(:

De Fábio Domingos a 18.06.2011 às 22:41

Foi um prazer enorme ter-te ajudado! Fico bastante feliz por teres conseguido entender as colecções!

Muito obrigado pelo comentário, e quando precisares de alguma ajuda extra, é só utilizares os comentários que eu estarei disponível para o que puder ajudar.

De Fernando Leal a 08.03.2011 às 01:58

Cara Tutorial muito Facil e completo, tudo q mais comumente se usa com ArrayList vc mostra ali.
Eu cheguei até por naum lembra como declara um arrayList, relembrei como declara e jah encontrei todos os metodos q vou utilizar, agr só vou ter q ver como dexa esse array em Escopo de sessão no JEE, pois preciso ir adicionando no array em uma pagina e os buscando em otra atraves do Objeto Implicito Session.

Vlw pelo tutorial e vo vira Fã.

De Fábio Domingos a 18.06.2011 às 22:40

Fico bastante feliz por te ter ajudado, qualquer dúvida já sabes, podes utilizar os comentários.

Obrigado!

De Elói Junior a 18.06.2011 às 01:46

Muito FRACO.......

Sabe o que é variavel booleana????

Mangolãooooo

De Fábio Domingos a 18.06.2011 às 22:39

Elaborei este post, quando comecei a aprender o paradigma orientada a objectos, depois de passar durante muito tempo pela linguagem C, foi um processo bastante complicado, e as colecções era para mim quase "algo de outro mundo", principalmente devido ao facto de os materiais que encontrava na internet serem algo complexos e um pouco difíceis de entender para um iniciado como eu era. Por isso, e após ler alguns livros, decidi partilhar esta forma simplificada de ensinar as colecções, é claro que está um pouco incompleto, pois só abrange as strings, fiquei de escrever um artigo com objectos, que está para breve (talvez para o próximo mês, quando estiver livre dos exames), no entanto serve, ajudou muita gente, e é isso que interessa para o âmbito deste artigo, entendendo as bases, o avançado vem depois.
Sim, sei o que é uma variável booleana, é uma variável que pode ter os valores true (verdadeiro) ou false (falso), utilizei pelo menos uma no artigo.

De qualquer forma, obrigado pela crítica, no entanto devias ter sido um pouco mais construtivo, e em vez de dizeres que está fraco, poderias ter dado algumas sugestões de como poderei melhorar os meus próximos artigos.

De Conhecimento a 05.05.2016 às 19:53

São babacas como você, Elói Junior a 18.06.2011 às 01:46, que faz o mundo está do jeito que é.

Se tinha algo a acrescentar no post não seria da forma que vc abordou.

Desça um pouco do pedestal que vc só tem a ganhar.

abraço.

De Elói Junior a 05.05.2016 às 19:58

Primeiramente eu não me lembrava deste POST. Segundo você não me conhece e não sabe o que eu faço com relação ao mundo. Então me respeite, por favor.


E terceiro, TODA a critica é construtiva se foi feito um questionamento "Sabe o que é variavel booleana???? ", ele teria que questionar e pesquisar.

Grande Abraço e sucesso a todos.

De Anónimo a 31.05.2016 às 13:55

voces sao todos uns burros de merda!
o post original é bom eo zuka burro ..é urso!

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.

De Arthur a 19.10.2011 às 17:10

Ótimo tutorial, parabéns cara! =]

De Júlio a 10.01.2012 às 15:29

Muito Bom.

De José Costa a 19.04.2012 às 22:41

Eu amei a postagem.
Muito bem elaborada!
PARABÉNS!

De Marco a 10.06.2012 às 17:57

Rapaz, salvou meu dia. Muito bem explicado. Parabéns!!!

De Marcelo a 17.07.2012 às 13:56

Muito bem explicado, ajudou muito.

Comentar post


Pág. 1/2



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