Podemos agrupar objetos de duas formas, via interface Collection ou interface Map.
Ambas tem estruturas diferentes, isto quer dizer que a maneira em que os objetos vão ser adicionados ou chamados será diferente. Dentro da interface Collection temos duas subinterfaces:
- Set: não aceita objetos duplicados
- List: aceita objetos duplicados
Porem a interface Map possui uma estrutura de dados diferente. Para cada objeto que adicionamos em uma lista do tipo Map, teremos uma chave associada. Pra recuperar o objeto faremos referencia a essa chave como mecanismo de pesquisa (no caso da interface Collection utilizaremos índices).
Vantagens de usar framework collection
- Redução do esforço
- Aumento na qualidade e na produtividade do desenvolvimento
- Adaptabilidade
- Alocação na memória de forma automática
Interfaces e classes do framework collection
![]() |
Figura 1 - Classes e interfaces que implementam ou estendem a interface Collection |
Neste exemplo estou utilizando um arraylist, que implementa List e por consequência implementa Collection:
Podemos utilizar diferentes implementações entre métodos utilizando herança e polimorfismo:
import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class ArrayLista { public static void main(String[] args) { CollectionPerceba-se que na impressão da mensagem, estamos realizando um downcasting para a interface List que o define. Pois o método get() pertence a classe List, que permite acessar a informação dos objetos da lista.obj = new ArrayList (); obj.add("Teste"); System.out.println("Objeto: " +((List )obj).get(0)); } }
Podemos utilizar diferentes implementações entre métodos utilizando herança e polimorfismo:
import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; public class Main { public static void main(String[] args) { // Declaramos duas listas diferentes CollectionÉ importante saber que a interface Collection não possui o método get(), por isso utilizamos iteradores. Utilizaremos sempre iteradores para navegar em uma coleção do tipo Set ou List.lista1 = new ArrayList (); Collection lista2 = new HashSet<>(); // Preenchemos a lista do tipo ArrayList inserir(lista1, "Blog do felansu"); inserir(lista1, "Ferran Gonzalez ALonso"); inserir(lista1, "gaferran@gmail.com"); // Preenchemos a lista do tipo HashSet inserir(lista2, "Faculdade Delta"); inserir(lista2, "www.felansu.blogspot.com"); // Listamos listar(lista1); listar(lista2); } static void inserir(Collection obj, String str){ obj.add(str); } static void listar(Collection obj){ Iterator it = obj.iterator(); while (it.hasNext()) { System.out.println("String da lista: " +it.next()); } } }
0 comentarios:
Postar um comentário