Your SlideShare is downloading. ×
0
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
POO -  23 - Coleções da API do Java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

POO - 23 - Coleções da API do Java

3,186

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,186
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Fundamentos da Linguagem Java Coleções da API do Java e Arrays Ludimila Monjardim Casagrande 2012
  • 2. Arrays em Java  Um array em Java é uma coleção ordenada de referências para objetos ou de valores de um tipo primitivo ou de outros arrays.  Arrays em Java são homogêneos, isto é, exceto pelas regras de polimorfismo, todos os elementos de um array devem ser do mesmo tipo.  Sendo assim, quando o array é criado, é especificado o tipo dos elementos que ele irá conter.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 2
  • 3. Arrays em Java  Para criar e usar um array são necessários três passos:  Declaração;  Construção;  Inicialização.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 3
  • 4. Declaração de um Array  A sintaxe para a declaração de um array em Java é:  <tipo> <variável>[ ]; ou  <tipo>[ ] <variável>;  Exemplo:  int x[ ]; ou  int[ ] x;  Na declaração não é especificado o tamanho do array.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 4
  • 5. Criação de um Array  O tamanho do array só é especificado na sua criação, conforme o exemplo abaixo:  x = new int[10]; //obrigatório definir o tamanho  Somente nesse ponto é que o array x foi criado com 10 posições, indexadas de 0 a 9.  Também é permitido declarar e construir o array na mesma linha, por exemplo:  int x[ ] = new int[10];  String[ ] nomes = new String[5];Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 5
  • 6. Criação e Inicialização de um Array  Também é possível construir um array já inicializando- o com alguns valores.  Veja os exemplos:  int[ ] x = {1, 2, 3, 4, 5};  int[ ] x = new int[ ]{1, 2, 3, 4, 5};  Nesses casos, o vetor será automaticamente criado com cinco posições e já iniciado com os valores entre { e }.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 6
  • 7. Exemplo de Uso de um Array public class Array { public static void main(String[] args){ int[ ] x = new int[10]; x[9] = 8; //x[10] = 9; //ArrayIndexOutOfBoundsException!!! System.out.println("O tamanho do array é: " + x.length); //Laço que insere valores no Array for(int i = 0; i < x.length; i++){ x[i] = i * 2; } for(int i = 0; i < x.length; i++){ System.out.println("O argumento " + i + " é: " + x[i]); } } }Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 7
  • 8. Coleções em Java  Estruturas de dados são mecanismos para manipular coleções de elementos em um programa.  O pacote java.util oferece algumas classes definidas na API do Java que implementam funcionalidades associadas a estruturas de dados.  Essas classes são conhecidas como “collections” ou “containers”.  Algumas das classes que representam coleções providas pela API do Java são:  Vector, ArrayList, LinkedList  HashSet, TreeSet, entre outrasColeções e Arrays ©2012 Ludimila Monjardim Casagrande 8
  • 9. Hierarquia de Coleções do Java Collection Interface que representa uma coleção genérica List Set Sub-interfaces deDiferentes Collectionimplementaçõesda interface List Vector ArrayList LinkedList HashSet TreeSetColeções e Arrays ©2012 Ludimila Monjardim Casagrande 9
  • 10. Coleções em Java  A interface Collection é a raiz da hierarquia de coleções da API do Java.  Algumas coleções permitem a existência de objetos duplicados, outras não.  Algumas coleções são ordenadas e outras não.  Essas são algumas das características que classificam as coleções em grupos mais específicos, tais como, Set e List.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 10
  • 11. Listas e Conjuntos  List e Set são duas das principais sub-interfaces da interface Collection.  List é a interface que representa a especificação de coleções do tipo lista que, por definição, permitem objetos duplicados e são ordenadas.  Set, por sua vez, representa os conjuntos que, por definição, não permitem objetos duplicados e não são necessariamente ordenados.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 11
  • 12. Interface Collection  Uma Collection não obedece a uma ordem especial e não rejeita objetos duplicados.  A interface Collection define métodos que permitem à adição e remoção de elementos, a contagem desses elementos e a verificação de existência ou não de um determinado elemento na coleção, por exemplo.  Uma coleção simples não impõe restrições quanto ao tipo dos objetos por ela armazenados.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 12
  • 13. Interface Collection  Principais métodos definidos pela interface Collection:  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();  Object[] toArray();  Observe que os métodos não são relacionados com posição.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 13
  • 14. Interface List  Uma classe que implementa List representa uma coleção ordenada que não rejeita duplicatas.  Em algumas listas, a ordem pode ser a ordem na qual os objetos foram adicionados à coleção, em outras, os elementos possuem uma “ordem natural” que deve ser respeitada.  A interface List define métodos relacionados à posição do elemento na coleção, como:  int indexOf(Object o);  Object get(int index);  void add(int index, Object element);  Object remove(int index);Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 14
  • 15. Interface Set  As classes que implementam a interface Set devem definir os métodos de adição de elementos à coleção de modo a não permitir a inserção de duplicatas.  Alguns conjuntos consideram o valor null como um elemento válido, no entanto, só pode existir uma ocorrência de null em toda a coleção.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 15
  • 16. Classe ArrayList  Para entendermos melhor o uso de uma coleção, vamos estudar a classe ArrayList que corresponde a uma das implementações da interface List.  ArrayList é uma classe do Java (package java.util) usada para armazenar objetos de quaisquer tipos.  Um objeto da classe ArrayList pode ser criado com um tamanho inicial e, se esse tamanho se tornar insuficiente, automaticamente o “array” será aumentado de modo transparente para o usuário da classe.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 16
  • 17. Criação de um ArrayList  O exemplo cria um objeto da classe ArrayList, para armazenar, inicialmente, 15 elementos.  Se nenhum valor é passado no construtor, um objeto com capacidade para 10 elementos é criado.  Exemplo:  ArrayList list = new ArrayList(15);Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 17
  • 18. Adição de Elementos ao ArrayList  Para se armazenar uma referência a um objeto em um ArrayList, a classe fornece o método add(Object o).  Exemplo: 1.Aluno a = new Aluno(“ana”, “123”, 1); 2.list.add(a);  O método add(Object o) adiciona o objeto recebido no final do“array”.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 18
  • 19. Exemplo import java.util.*; public class CadAlunos { private static ArrayList alunos = new ArrayList(1); public static void main(String[ ] args){ O ArrayList aumenta de tamanho alunos.add(“Alessandro"); automaticamente. alunos.add(“Eliane"); alunos.add(“Miriam"); Aluno a = new Aluno(“Carlos", "123", 1); alunos.add(a); } O ArrayList permite a inserção de } elementos de diferentes tipos.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 19
  • 20. Listas Homogêneas  A partir do Java 5.0, podemos usar o recurso chamado Generics para restringir as listas a um determinado tipo de objetos (e não qualquer Object):  List<Aluno> alunos = new ArrayList<Aluno>();  alunos.add(a1);  alunos.add(a2);  alunos.add(“Pedro”); // isso geraria erro de compilaçãoColeções e Arrays ©2012 Ludimila Monjardim Casagrande 20
  • 21. Listas Homogêneas  O uso de Generics também elimina a necessidade de casting, já que, seguramente, todos os objetos inseridos na lista serão do tipo Aluno: for(int i = 0; i < alunos.size(); i++) { Aluno a = alunos.get(i); // sem casting! System.out.println(a.getNome()); }Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 21
  • 22. Adição de Elementos ao ArrayList  Existe ainda uma versão do método add que também recebe um índice.  Exemplo:  list.add(0, a);  Nesse caso o objeto será armazenado na posição 0.  Se a posição indicada não existir, o método gera uma exceção IndexOutOfBoundsException.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 22
  • 23. Recuperação de um Elemento  Para recuperar um objeto de um ArrayList usamos o método get(int index).  Exemplo: 1. int i = 2; 2. Aluno a = (Aluno)list.get(i); //casting necessário  O método get retorna o objeto armazenado na posição indicada.  Se o índice especificado não existir, o método gera uma exceção IndexOutOfBoundsException.Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 23
  • 24. Exemplo import java.util.*; public class CadAlunos { private static ArrayList alunos = new ArrayList(10); public static void main(String[] args){ Aluno a = new Aluno("André", "andre", "123", 1); alunos.add(a); a = new Aluno("Carla", "carla", "456", 2); alunos.add(a); a = new Aluno("Cristiane", "cristiane", "789", 3); alunos.add(2, a); a = (Aluno)alunos.get(1); Iterator it = alunos.iterator(); while (it.hasNext()) { a = (Aluno)it.next(); System.out.println(a); } } }Coleções e Arrays ©2012 Ludimila Monjardim Casagrande 24
  • 25. Referências  Java: Como programar Autores: H. M. Deitel e P. J. Deitel Editora: Pearson – 6ª Edição  Capítulo 16 – Collections framework Apostila Caelum http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/  Complete Java 2 Certification Study Guide SybexColeções e Arrays ©2012 Ludimila Monjardim Casagrande 25

×