Array List Prof Omero Francisco Bertol omeroutfpr edu
Array. List Prof. Omero Francisco Bertol. (omero@utfpr. edu. br) Abril/ 2017
Diagrama de Classe: Collections framework Fonte: http: //www. codejava. net/java-core/collections/overview-of-java-collections-framework-api-uml-diagram
Coleções de Objetos Uma coleção é uma estrutura de dados (ou objetos) que pode armazenar referências a outros objetos (geralmente do mesmo tipo). São estruturas de dados de alto desempenho (acesso aos itens extremamente rápido). Interfaces de estrutura de coleções: Collection interface-raiz na hierarquia de coleções a partir da qual as interfaces Set, Queue e List são derivadas. Set uma coleção que não contem duplicatas. List uma coleção ordenada que pode conter elementos duplicados. Map associa chaves a valores e não pode conter chaves duplicadas. Queue em geral, uma coleção do tipo primeiro a entrar, primeiro a sair que modela uma fila de espera.
Listas (List) Uma List (às vezes chamada de sequência) é um Collection ordenada que pode conter elementos duplicados. Como os arrays, índices de List são baseados em zero (o índice do primeiro elemento é zero). Além dos métodos herdados de Collection, List fornece métodos para manipular elementos via seus índices, manipular um intervalo especificado de elementos, procurar elementos e obter um List. Iterator para acessar os elementos. A interface List é implementada por várias classes: Array. List (arrays redimensionais), Linked. List e Vector. O autoboxing ocorre quando armazenam-se valores de tipos primitivos a objetos destas classes, uma vez que eles armazenam apenas referências a objetos. Unboxing é o termo para criar tipos primitivos para representar o valor de um objeto.
Array. List (java. util. Array. List) (1/3) Com objetos Array. List é possível criar uma coleção dinâmica de objetos através da qual pode-se: • Adicionar um objeto dentro da coleção; • Remover um objeto da coleção; • Pesquisar ou achar a referência a um objeto particular da coleção; • Usar um iterador para varrer (ou iterar) uma coleção. Principais métodos: • boolean add(Object element): adiciona um objeto no final da coleção. • void add(int index, Object element): adiciona um objeto na posição especificada por “index”. • int size(): retorna o tamanho da coleção (número de elementos). • void clear(): remove todos os elementos da lista.
Array. List (java. util. Array. List) (2/3) Principais métodos: • boolean remove(Object element): remove a primeira ocorrência do objeto. • Object remove(int index): remove e retorna o objeto que está na posição especificada por “index”. • Object get(int index): retorna o elemento da posição especificada por “index”. • boolean is. Empty(): retorna verdadeiro se a lista estiver vazia e falso caso contrário. • boolean contains(Object element): retorna verdadeiro se a lista contém o elemento especificado e falso caso contrário.
Array. List (java. util. Array. List) (3/3) Principais métodos: • int index. Of(Object element): retorna a posição na lista da primeira ocorrência do elemento especificado. • int last. Index. Of(Object element): retorna a posição na lista da última ocorrência do elemento especificado na lista. • Object set(int index, Object element): substitui o i-ésimo elemento da lista pelo elemento especificado. Retorna com o elemento que foi substituído. java. util. Array. List: https: //docs. oracle. com/javase/7/docs/api/java/util/Array. List. html
Trabalhando com Array. List (1/4) 1) Declarando e instanciando um Array. List de Strings: Array. List<String> nomes = new Array. List(); 2) Usando o método “add” para adicionar 4 nomes no final da coleção: nomes. add("Juca Bala"); nomes. add("Marcos Paqueta"); nomes. add("Maria Antonieta"); nomes. add("Antônio Conselheiro"); 3) Removendo o 3º elemento da coleção. Para remover “Maria Antonieta”: nomes. remove(2); Lembre-se: o índice do primeiro elemento é zero
Trabalhando com Array. List (2/4) 4) Percorrendo e mostrando os elementos da coleção (usando o índice): int i, n; n = nomes. size(); for (i=0; i<n; i++) { System. out. printf("Posição %d- %sn", i, nomes. get(i)); } Resultado:
Trabalhando com Array. List (3/4) 5) Percorrendo e mostrando os elementos da coleção (usando for-each): int i; i = 0; for (String item: nomes) { System. out. printf("Posição %d- %sn", i, item); i++; } Resultado:
Trabalhando com Array. List (4/4) 6) Percorrendo e mostrando os elementos da coleção (usando “iterator”): int i; i = 0; Iterator<String> item = nomes. iterator(); while (item. has. Next()) { System. out. printf("Posição %d- %sn", i, item. next()); i++; } Resultado:
Criando uma coleção de objetos (1/2) Array. List<Pessoa> pessoas = new Array. List(); pessoas. add(new Pessoa("Juca Bala", 'M', new Data(3, 12, 1978))); pessoas. add(new Pessoa("Maria das Dores", 'F', new Data(13, 2, 1966))); int i, n; n = pessoas. size(); for (i=0; i<n; i++) { System. out. printf("n%sn", pessoas. get(i). to. String()); }
Criando uma coleção de objetos (2/2) Array. List<Pessoa> pessoas = new Array. List(); pessoas. add(new Pessoa("Juca Bala", 'M', new Data(3, 12, 1978))); pessoas. add(new Pessoa("Maria das Dores", 'F', new Data(13, 2, 1966))); for (Pessoa item: pessoas) { System. out. printf("n%sn", item. to. String()); }
Referências • Java - Como Programar. – H. M. Deitel & P. J. Deitel. – São Paulo: Person Prentice Hall - 2005. – Capítulo 14: Arquivos e fluxos, pág. 494. . 550. • Explorando a Classe Array. List no Java: http: //www. devmedia. com. br/explorando-a-classearraylist-no-java/24298
- Slides: 14