SlideShare uma empresa Scribd logo
Coleções Regis Pires Magalhães [email_address]
java.util - Coleções Classes e interfaces do pacote  java.util  que representam listas, conjuntos e mapas. Solução flexível para armazenar objetos.  Quantidade armazenada de objetos não é fixa, como ocorre com arrays. Poucas interfaces (duas servem de base) permitem maior reuso e um vocabulário menor de métodos. add() ,  remove() ,  contains()  - principais métodos de  Collection put() ,  get()  - principais métodos de interface  Map Desvantagens: Menos eficientes que arrays. Não aceitam tipos primitivos (só empacotados).
java.util - Coleções
java.util. Collection Uma coleção representa um grupo de objetos. Algumas coleções permitem valores repetidos, outras não. Algumas coleções são ordenadas, outras não. Principais subinterfaces: List Set Principais métodos: boolean add(Object o) : adiciona objeto na coleção boolean contains(Object o) boolean isEmpty() Iterator iterator() : retorna iterator boolean remove(Object o) int size() : retorna o número de elementos Object[] toArray(Object[]) : converte coleção em Array
java.util. List Estende a interface  Collection . Principais subclasses: Vector  – ideal para acesso randômico. Sincronizado. ArrayList  – ideal para acesso randômico. Não sincronizada. LinkedList – ideal para acesso sequencial. Não sincronizada. Principais métodos adicionais void add(int index, Object o) : adiciona objeto na posição indicada (empurra elementos existentes para a frente) Object get(int index) : recupera objeto pelo índice int indexOf(Object o) : procura objeto e retorna índice da primeira ocorrência Object set(int index, Object o) : grava objeto na posição indicada (apaga qualquer outro que ocupava a posição). Object remove(int index) ListIterator  listIterator() : retorna uma  ListIterator
java.util.Vector Implementa um array redimensionável bastante eficiente para leitura. Possui um construtor na forma:  Vector(int capacidadeInicial, int incremento) capacidadeInicial  – o tamanho inicial do vector (se não especificado no construtor, assume o tamanho de 10 elementos). incremento  – especifica em quantos elementos o vector deverá crescer quando sua capacidade for extrapolada (Se não especificado no construtor, o vector terá seu tamanho duplicado). Implementado internamente com arrays. Otimiza o espaço alocado pelo array que encapsula. Ideal para acesso aleatório. É sincronizado, permitindo que somente uma  thread  por vez acesse um método sincronizado do objeto. Métodos comumente utilizados: add(Object o) contains(Object element) elementAt(int index) indexOf(Object element) isEmpty() lastIndexOf(Object element) remove(int index) remove(Object o) size() setElementAt(Object obj, int index) toArray()
java.util.LinkedList Muito mais eficiente que  ArrayList  e  Vector  para remoção e inserção no meio da lista. Pode ser usada para implementar pilhas, filas unidirecionais (queue) e bidirecionais (deque – double -ended queue). Possui métodos para manipular essas estruturas. Ideal para acesso seqüencial. Não sincronizado. Principais métodos: add(int index, Object element) remove(int index) get(int index) indexOf(Object o) lastIndexOf(Object o)
Listas A implementação mais utilizada da interface List é ArrayList. ArrayList é ideal para pesquisa LinkedList é ideal para inserção e remoção de itens nas pontas. A partir do Java 5 podemos usar o recurso de Generics para restringir as listas a um determinado tipo de objetos (e não qualquer Object): List<ContaCorrente> contas =  new  ArrayList<ContaCorrente>(); contas.add(c1); contas.add(c3); contas.add(c2);
Listas O uso de Generics também elimina a necessidade de casting, já que seguramente todos os objetos inseridos na lista serão do tipo ContaCorrente: for ( int  i = 0; i < contas.size(); i++) { ContaCorrente cc = contas.get(i);  // sem casting! System.out.println(cc.getSaldo()); }
java.util.Collections Esta classe contém métodos estáticos que retornam ou operam sobre coleções. Principais métodos: binarySearch(List list, Object key)  – Busca um determinado elemento de uma lista em ordem crescente usando o algoritmo de busca binária. copy(List dest, List src)  – Copia todos os elementos de uma lista para outra. fill(List list, Object obj)  – Substitui todos os elementos da lista pelo objeto especificado. sort(List list)  – Orderna uma lista usando uma modificação do algoritmo  Mergesort . shuffle(List list)  – Randomicamente permuta os elementos de uma lista. reverse(List list)  – inverte a ordem dos elementos da lista. max(Collection coll)  – retorna o maior elemento da coleção. min(Collection coll)  -  retorna o menor elemento da coleção.
Ordenação List lista =  new  ArrayList(); lista.add( &quot;Sérgio&quot; ); lista.add( &quot;Paulo&quot; ); lista.add( &quot;Guilherme&quot; ); System.out.println(lista);  Collections.sort(lista); System.out.println(lista);
java.util. Set Set representa um conjunto matemático. Não possui valores repetidos. Pode possuir um único elemento  null . Principais subclasses: HashSet  (implements  Set ) TreeSet  (implements  SortedSet ) Principais métodos: add(Object o) contains(Object o) equals(Object o) isEmpty() iterator() remove(Object o) size() toArray()
java.util. Map Objetos Map são semelhantes a arrays mas, em vez de índices numéricos, usam objetos como chaves. Chaves são únicas. Valores podem ser duplicados. Principais subclasses: Hashtable  –  Sincronizada. Não aceita  null  como chave. Acesso rápido devido ao uso do método  hashCode() . HashMap  – Não sincronizada. Aceita  null  como chave.  Acesso rápido devido ao uso do método  hashCode() . TreeMap  – Não sincronizada. Mapa ordenado. Contém métodos para manipular elementos ordenados. Métodos principais: void put(Object key, Object value) : acrescenta um objeto Object get(Object key) : recupera um objeto Set keySet() : retorna um  Set  de chaves Collection values() : retorna uma  Collection  de valores.

Mais conteúdo relacionado

PDF
Java Coleções
PDF
POO - 23 - Coleções da API do Java
PDF
Curso java 08 - mais sobre coleções
ODP
8 collections-i
PDF
Collections Java (1/2)
PPTX
Slides collections
PDF
Java collections-basic
PDF
POO - 13 - Arrays em Java
Java Coleções
POO - 23 - Coleções da API do Java
Curso java 08 - mais sobre coleções
8 collections-i
Collections Java (1/2)
Slides collections
Java collections-basic
POO - 13 - Arrays em Java

Mais procurados (20)

PPTX
Capítulo 6
PDF
(A11b) LabMM3 - JavaScript - Arrays
PPTX
Java: Collections
PDF
LabMM3 - Aula teórica 10
PPTX
Csharp fundamentals
PDF
Arrays (vetores) em Java
PDF
Arrays em java
PPTX
Java: strings e arrays
ODP
Java 06 Strings Arrays
PPTX
Aula 02 - JavaScript: Arrays
PDF
Java script aula 04 - objeto array
PPTX
PDF
Collection Java (2/2)
PDF
Lpiii dp-apostila
PDF
Apostila php 01
ODP
Doctrine ORM
PPTX
ODP
Slide Share s2 Rodd
ODP
Slide Semana2 Rodrigo2
Capítulo 6
(A11b) LabMM3 - JavaScript - Arrays
Java: Collections
LabMM3 - Aula teórica 10
Csharp fundamentals
Arrays (vetores) em Java
Arrays em java
Java: strings e arrays
Java 06 Strings Arrays
Aula 02 - JavaScript: Arrays
Java script aula 04 - objeto array
Collection Java (2/2)
Lpiii dp-apostila
Apostila php 01
Doctrine ORM
Slide Share s2 Rodd
Slide Semana2 Rodrigo2
Anúncio

Semelhante a Java 12 Colecoes (20)

PPTX
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
PPTX
PPTX
Curso Java Básico - Aula 05
PDF
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
PDF
Coleções Propriedade, Resources e Strings
PDF
Introdução a estruturas de dados com java
PDF
4234 mysql
ODP
9 collections-ii
PDF
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
PDF
Listas (parte 1)
PDF
Array list
PPTX
Java: Composicao e Array List
PDF
Classes Anônimas, Internas e Coleções Java
PDF
Lista de inteiros
PPTX
Aula sobre o uso de coleções em python...
PPT
Trabalho vetores
PDF
Aula 01
PDF
Programando em python listas
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Curso Java Básico - Aula 05
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Coleções Propriedade, Resources e Strings
Introdução a estruturas de dados com java
4234 mysql
9 collections-ii
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
Listas (parte 1)
Array list
Java: Composicao e Array List
Classes Anônimas, Internas e Coleções Java
Lista de inteiros
Aula sobre o uso de coleções em python...
Trabalho vetores
Aula 01
Programando em python listas
Anúncio

Mais de Regis Magalhães (20)

PDF
High Dimensional Data
PDF
Web Scale Data Management
PPTX
PHP 10 CodeIgniter
ODP
Prog web 01-php-introducao
ODP
Prog web 02-php-primeiros-passos
ODP
Prog web 00-modelo-cliente_servidor_web
ODP
Prog web 09-php-crud-mvc
ODP
Prog web 08-php-mvc
ODP
Prog web 07-pdo
ODP
Prog web 06-php-oo
ODP
Prog web 05-php-mysql
ODP
Prog web 04-php-gd
PPT
Prog web 03-php-sessoes-cookies_cabecalhos
ODP
Prog web 03-php-sessoes-cookies_cabecalhos
PPT
Prog web 02-php-primeiros-passos
ODP
Prog web 02-php-primeiros-passos
ODP
Prog web 00-modelo-cliente_servidor_web
ODP
Prog web 01-php-introducao
PDF
Linked Data Tutorial - Conferencia W3C Brasil 2011
PDF
Linked Data - Minicurso - SBBD 2011
High Dimensional Data
Web Scale Data Management
PHP 10 CodeIgniter
Prog web 01-php-introducao
Prog web 02-php-primeiros-passos
Prog web 00-modelo-cliente_servidor_web
Prog web 09-php-crud-mvc
Prog web 08-php-mvc
Prog web 07-pdo
Prog web 06-php-oo
Prog web 05-php-mysql
Prog web 04-php-gd
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Prog web 00-modelo-cliente_servidor_web
Prog web 01-php-introducao
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data - Minicurso - SBBD 2011

Java 12 Colecoes

  • 1. Coleções Regis Pires Magalhães [email_address]
  • 2. java.util - Coleções Classes e interfaces do pacote java.util que representam listas, conjuntos e mapas. Solução flexível para armazenar objetos. Quantidade armazenada de objetos não é fixa, como ocorre com arrays. Poucas interfaces (duas servem de base) permitem maior reuso e um vocabulário menor de métodos. add() , remove() , contains() - principais métodos de Collection put() , get() - principais métodos de interface Map Desvantagens: Menos eficientes que arrays. Não aceitam tipos primitivos (só empacotados).
  • 4. java.util. Collection Uma coleção representa um grupo de objetos. Algumas coleções permitem valores repetidos, outras não. Algumas coleções são ordenadas, outras não. Principais subinterfaces: List Set Principais métodos: boolean add(Object o) : adiciona objeto na coleção boolean contains(Object o) boolean isEmpty() Iterator iterator() : retorna iterator boolean remove(Object o) int size() : retorna o número de elementos Object[] toArray(Object[]) : converte coleção em Array
  • 5. java.util. List Estende a interface Collection . Principais subclasses: Vector – ideal para acesso randômico. Sincronizado. ArrayList – ideal para acesso randômico. Não sincronizada. LinkedList – ideal para acesso sequencial. Não sincronizada. Principais métodos adicionais void add(int index, Object o) : adiciona objeto na posição indicada (empurra elementos existentes para a frente) Object get(int index) : recupera objeto pelo índice int indexOf(Object o) : procura objeto e retorna índice da primeira ocorrência Object set(int index, Object o) : grava objeto na posição indicada (apaga qualquer outro que ocupava a posição). Object remove(int index) ListIterator listIterator() : retorna uma ListIterator
  • 6. java.util.Vector Implementa um array redimensionável bastante eficiente para leitura. Possui um construtor na forma: Vector(int capacidadeInicial, int incremento) capacidadeInicial – o tamanho inicial do vector (se não especificado no construtor, assume o tamanho de 10 elementos). incremento – especifica em quantos elementos o vector deverá crescer quando sua capacidade for extrapolada (Se não especificado no construtor, o vector terá seu tamanho duplicado). Implementado internamente com arrays. Otimiza o espaço alocado pelo array que encapsula. Ideal para acesso aleatório. É sincronizado, permitindo que somente uma thread por vez acesse um método sincronizado do objeto. Métodos comumente utilizados: add(Object o) contains(Object element) elementAt(int index) indexOf(Object element) isEmpty() lastIndexOf(Object element) remove(int index) remove(Object o) size() setElementAt(Object obj, int index) toArray()
  • 7. java.util.LinkedList Muito mais eficiente que ArrayList e Vector para remoção e inserção no meio da lista. Pode ser usada para implementar pilhas, filas unidirecionais (queue) e bidirecionais (deque – double -ended queue). Possui métodos para manipular essas estruturas. Ideal para acesso seqüencial. Não sincronizado. Principais métodos: add(int index, Object element) remove(int index) get(int index) indexOf(Object o) lastIndexOf(Object o)
  • 8. Listas A implementação mais utilizada da interface List é ArrayList. ArrayList é ideal para pesquisa LinkedList é ideal para inserção e remoção de itens nas pontas. A partir do Java 5 podemos usar o recurso de Generics para restringir as listas a um determinado tipo de objetos (e não qualquer Object): List<ContaCorrente> contas = new ArrayList<ContaCorrente>(); contas.add(c1); contas.add(c3); contas.add(c2);
  • 9. Listas O uso de Generics também elimina a necessidade de casting, já que seguramente todos os objetos inseridos na lista serão do tipo ContaCorrente: for ( int i = 0; i < contas.size(); i++) { ContaCorrente cc = contas.get(i); // sem casting! System.out.println(cc.getSaldo()); }
  • 10. java.util.Collections Esta classe contém métodos estáticos que retornam ou operam sobre coleções. Principais métodos: binarySearch(List list, Object key) – Busca um determinado elemento de uma lista em ordem crescente usando o algoritmo de busca binária. copy(List dest, List src) – Copia todos os elementos de uma lista para outra. fill(List list, Object obj) – Substitui todos os elementos da lista pelo objeto especificado. sort(List list) – Orderna uma lista usando uma modificação do algoritmo Mergesort . shuffle(List list) – Randomicamente permuta os elementos de uma lista. reverse(List list) – inverte a ordem dos elementos da lista. max(Collection coll) – retorna o maior elemento da coleção. min(Collection coll) - retorna o menor elemento da coleção.
  • 11. Ordenação List lista = new ArrayList(); lista.add( &quot;Sérgio&quot; ); lista.add( &quot;Paulo&quot; ); lista.add( &quot;Guilherme&quot; ); System.out.println(lista); Collections.sort(lista); System.out.println(lista);
  • 12. java.util. Set Set representa um conjunto matemático. Não possui valores repetidos. Pode possuir um único elemento null . Principais subclasses: HashSet (implements Set ) TreeSet (implements SortedSet ) Principais métodos: add(Object o) contains(Object o) equals(Object o) isEmpty() iterator() remove(Object o) size() toArray()
  • 13. java.util. Map Objetos Map são semelhantes a arrays mas, em vez de índices numéricos, usam objetos como chaves. Chaves são únicas. Valores podem ser duplicados. Principais subclasses: Hashtable – Sincronizada. Não aceita null como chave. Acesso rápido devido ao uso do método hashCode() . HashMap – Não sincronizada. Aceita null como chave. Acesso rápido devido ao uso do método hashCode() . TreeMap – Não sincronizada. Mapa ordenado. Contém métodos para manipular elementos ordenados. Métodos principais: void put(Object key, Object value) : acrescenta um objeto Object get(Object key) : recupera um objeto Set keySet() : retorna um Set de chaves Collection values() : retorna uma Collection de valores.