Em primeiro lugar o que é uma coleção?

Em Programação orientada a objetos, é comum trabalharmos não apenas com um objeto, mas sim com um conjunto deles. Com base nisso fica clara que uma collection é um objeto que agrupa múltiplos elementos (variáveis primitivas ou objetos) dentro de uma única unidade, devido a isso uma coleção também pode ser denominada como um container.

Coleções são usadas para armazenar, recuperar e manipular dados, assim como facilitar a transmissão de dados de um método para outro.

Tem um exemplo disso? Geralmente coleções representam itens de dados que formam no geral um grupo.

Ex: Uma agenda telefônica contém uma coleção de números e nomes de telefones.

Antes do Java 1.2 existiam (ainda existem) as seguintes classes:

  • Vector;
  • Stack;
  • Hashtable;
  • Array;
  • BitSet.

A partir do Java 1.2 foi introduzido o Java Collections Frameworks, uma arquitetura unificada para fornecer uma manipulação mais eficiente de coleções de objetos, através de interfaces, algoritmos e implementações. Essas classes e interfaces estão localizadas no pacote java.util.

Collections disponibiliza componentes reutilizáveis, tais como:

  • Listas;
  • Filas;
  • Plihas;
  • Vetores, etc.

As Operações básicas de uma Coleção são:

  • Adicionar objetos a um conjunto;
  • Remover objetos do conjunto;
  • Saber se um (ou outro conjunto) está no conjunto;
  • Recuperar um objeto do conjunto;
  • Executar uma iteração no conjunto.

As seguintes operações podem ser adquiridas através de métodos comuns à maioria dos conjuntos (coleções):

  • Add;
  • Remove;
  • Contains;
  • Size;
  • Iterator.

Os três grupos do Java Collections são:

  • Listas – Listas de itens, gerencia um grupo de elementos em sequência,como se fosse uma matriz, mas, a grande diferença é que List a quantidade de elementos é modificada dinamicamente. Classes que implementam java.util.List;
  • Conjuntos - Itens exclusivos, não permitem duplicação de elementos, classes que implementam java.util.Set;
  • Mapas – Itens com uma identificação exclusivaClasses que implementam java.util.Map.

Na segunda parte do artigo estaremos explorando com exemplos, o grupo List.