Interface Collection
É a interface absoluta na hierarquia de coleções. Dela descendem as interfaces Set, Queue (filas) e List (listas) que formam a base das coleções genéricas da linguagem Java.
- Set – define uma coleção que não contém valores duplicados.
- Queue – define uma coleção que representa uma fila, ou seja, implementa o modelo FIFO (First-In, First-Out)
- List - define uma coleção ordenada que pode conter elementos duplicados.
As classes e interfaces dessa estrutura de coleções são membros do pacote java.util.

Figura 1: Estrutura das coleções e mapas
Declarando uma coleção

Figura 2: Declaração interface Collection
No exemplo da Listagem 1, estamos declarando uma variável chamada colecao que somente irá armazenar tipos String nesse espaço. Nesse exemplo estamos instanciando a classe que implementa a interface, como descrito no diagrama da Figura 1.
Collection<String> colecao = new ArrayList();
Apenas lembrando que tanto para declarar List como Collection será necessário importar os seguintes pacotes: java.util.ArrayList e java.util.Collection.
Veja agora alguns métodos da interface List implementados pela classe ArrayList.
Adicionando elementosPara adicionar o elemento é invocado o método add que aceita um argumento do tipo definido, como mostrado na Listagem 2. Cada vez que invocamos esse método para a mesma coleção é adicionado um valor no fim da lista.
import java.util.Collection;
import java.util.ArrayList;
public class MetodoAdd {
public static void main(String[] args) {
Collection<String> nomes = new ArrayList();
nomes.add("João");
nomes.add("Maria");
nomes.add("Eduardo");
nomes.add("Silvana");
nomes.add("Mário");
System.out.println(“Lista de nomes: ”+nomes);
}
}
Verifica se os dados dentro de um List estão vazios, tendo como retorno valor booleano, true ou false.
import java.util.Collection;
import java.util.ArrayList;
public class Metodo_isEmpty {
public static void main(String[] args) {
Collection<String> letras = new ArrayList();
letras.add("A");
letras.add("B");
letras.add("C");
letras.add("D");
letras.add("E");
letras.add("F");
if(letras.isEmpty()){
System.out.println("Lista Vazia!");
}else{
System.out.println("Contém valores -> "+letras);
}
}
}
Nesse caso do exemplo da Listagem 3 a saída será a impressão das mensagens informando se a lista está vazia ou não, o que não ocorre, mas para testes poderia ser incluída uma ação para limpar essa lista através do método clear.
Removendo elementos
Para excluir uma ocorrência do valor especificado é usado o método remove.
import java.util.Collection;
import java.util.ArrayList;
public class MetodoRemove {
public static void main(String[] args) {
Collection<Integer> fila = new ArrayList();
fila.add(255);
fila.add(312);
fila.add(883);
fila.add(122);
fila.add(9);
System.out.println(“Valores da fila: ”+fila);
fila.remove(312); //REMOVE OBJETO 312
System.out.println(“Valores atualizados da fila:”+fila);
}
}
Limpando os elementos da lista
Para executar essa ação basta invocar o método clear que irá limpar todos os elementos da coleção referenciada.
import java.util.Collection;
import java.util.ArrayList;
public class MetodoRemove {
public static void main(String[] args) {
Collection<String> livros = new ArrayList();
livros.add("Java");
livros.add("Php");
livros.add("Python");
livros.add("SQL");
System.out.println("Listagem dos Livros: "+livros);
livros.clear();
System.out.println("Listagem após o clear: "+livros);
}
}
Verificando se existem dados
Quando precisar verificar a existência de certos elementos dentro de uma coleção, é possível fazer isso através do método contains.
import java.util.ArrayList;
import java.util.Collection;
public class VogaisColecao {
public static void main(String[] args) {
Collection<String> vogais = new ArrayList();
vogais.add("A");
vogais.add("E");
vogais.add("I");
vogais.add("O");
vogais.add("U");
System.out.println("Contém a vogal I ? "+vogais.contains("I"));
System.out.println("Lista das vogais: "+vogais);
}
}
Adicionando elementos de outra coleção
O método addAll permite adicionar todo os elementos de uma lista no final de outra.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class Dois_Collections {
public static void main(String[] args) {
Collection<String> vogais = new ArrayList();
vogais.add("A");
vogais.add("E");
vogais.add("I");
Collection<String> vogais2 = Arrays.asList("O", "U");
//RECEBE TODOS OS ELEMENTOS DA COLEÇÃO ADICIONANDO NA COLEÇÃO VOGAIS
vogais.addAll(vogais2);
System.out.println("Lista das Vogais: "+vogais);
}
}
Percorrendo Elementos
Para percorrer os elementos de uma coleção de forma prática, usamos a instrução foreach que permite acessar cada item individualmente.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class Percorre_Collections {
public static void main(String[] args) {
Collection<String> vogais = new ArrayList();
vogais.add("A");
vogais.add("E");
vogais.add("I");
vogais.add("O");
vogais.add("U");
//PERCORRE TODOS OS ELEMENTOS DA COLEÇÃO VOGAIS
for(String vog : vogais){
System.out.println("Vogal: "+vog);
}
}
}
Conclusão
Para mais informações sobre os métodos e conhecer mais sobre essa interface, acesse a documentação do Java através desse link: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html
Espero que tenham gostado e até a próxima!
Leia também o artigo: LinkedLists: O que acontece por trás da interface
Links Úteis
Saiba mais sobre Java ;)
- Curso básico de Java Aplicado:
O objetivo do curso de Java Básico aplicado é apresentar os conceitos básicos da linguagem de programação Java, assim como da Orientação a Objetos, aplicados em exemplos simples e úteis, utilizados pela maioria dos desenvolvedores no dia a dia do desenvolvimento de software. - Básico de Java e Orientação a Objetos:
O objetivo deste curso básico de Java e Orientação a Objetos é apresentar os conceitos básicos da linguagem de programação Java e a orientação a objetos (OO), visando ensinar usuários leigos, com pouca experiência em linguagem de programação a trabalhar com a plataforma Java. - Curso de Java: Técnicas Avançadas para Java SE:
Neste curso de Java avançado iremos nos aprofundar em tópicos de programação que ajudam você a entender os conceitos mais avançados de Java. Isso significa que o programador já precisa ter conhecimentos prévios da linguagem Java, bem como dos seus recursos, lógica de programação, depuração de código, IDEs, dentre outros conceitos básicos de programação.
Confira outros conteúdos:

Introdução ao JDBC

Novidades do Java

Teste unitário com JUnit

<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.

Wanderson Oliveira

Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!

Eduardo Dorneles

Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!

Adauto Junior

Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.