POO - I PROF.: JEAN CARLO MENDES
Coleções em Java O pacote java.util oferece classes que implementam funcionalidades associadas a estrutura de dados Estas classes são conhecidas como “Collections” ou “Containers” Algumas das classes que representam coleções: ArrayList, Vector, LinkedList HashSet, TreeSet, etc...
Coleções em Java
A interface Collection é a raiz da hierarquia de coleções do Java Alguma coleções permitem a inserção de objetos “duplicados” e outras não Algumas coleções são ordenadas e outras não Estas características dividem as coleções em grupos: Set e List
Coleções em Java – Listas e Conjuntos List é a interface que representa a especificação de coleções do tipo “lista” que permitem objetos duplicados e são ordenados Set representa o conjunto que não permite duplicidades e pode estar desordenado
Coleções em Java – Collection Não obedece a uma ordem especial e não rejeita elementos duplicados Define métodos para inserir, remover e contar elementos Uma coleção simples não impõe restrição quanto ao tipo de dados armazenados
Coleções em Java – Collection Alguns métodos disponíveis boolean contains(Object o) boolean containsAll(Collection c) boolean add(Object o) boolean addAll(Collection c) boolean remove(Object o) boolean removeAll(Collection c) boolean isEmpty() int size()
Coleções em Java – Interface List Uma classe que implementa List representa uma coleção ordenada de elementos que podem estar duplicados A ordenação pode ser a ordem no qual os elementos foram inseridos ou pode respeitar uma “ordem natural” Define métodos relacionados a posição int indexOf(Object o) Object get(int index) void add(int index, Object element) Object remove(int index)
Coleções em Java – Interface Set Uma classe que implementa Set deve definir métodos de adição que não permitem a inserção de elementos duplicados
Coleções em Java – ArrayList ArrayList é uma implementação de List Pertence ao pacote java.util e é usada para armazenar objetos de qualquer tipo Um objeto da classe ArrayList pode ser criado com um tamanho inicial e este tamanho pode ser alterado caso necessário
Coleções em Java – ArrayList Criação de um ArrayList capaz de armazenar inicialmente 10 elementos ArrayList list = new ArrayList(10); Armazenando uma referencia a um objeto no ArrayList Aluno a = new Aluno (“José”, ); list.add(a); O método add(Object o) adiciona a referencia ao objeto recebido no parâmetro no final da “lista”
Coleções em Java – ArrayList
A partir do Java 5.0 surgiu o conceito de “Generics” que permite, por exemplo, restringir listas a um determinado tipo de objeto ArrayList alunos = new ArrayList ();
Coleções em Java – ArrayList Existe uma versão do método add que permite a inserção do elemento em uma determinada posição Exemplo: list.add(0, a1); Se a posição não existir será gerada uma exceção Para se recuperar uma objeto de um ArrayList usamos o método get (int index) Exemplo: int i = 3; Aluno a = (Aluno)list.get(i); //é preciso converter o objeto (Cast)
Coleções em Java – ArrayList ArrayList é usado para armazenar objetos e não tipos primitivos Se for preciso criar um ArrayList (com Generics) para armazenar tipos primitivos, deve-se usar as classes “Wrapper” int Integer double Double float Float boolean Boolean
Coleções em Java – ArrayList ArrayList listaInteiros = new ArrayList ();