Você está na página 1de 14

FRAMEWORK DE ESTRUTURA DE DADOS

Introduo
Uma Estruturas de Dados uma forma de armazenar e organizar dados na memria do computador. Java possui um framework para manipular estruturas de dados, denominado de Java Collection Framework (JCF)

Tipos de containers
Colees: Armazenamento de elementos
Conjuntos (sets) Listas (lists) Filas (queues)

Mapas: Armazenamento de pares chave/valor Collection Set List Queue


Principais Interfaces

Map SortedMap

COLEES (COLLECTIONS)

Hierarquia da JCF para Colees

A interface Collection
A interface Collection a interface principal para a manipulao de objetos A classe abstrata AbstractCollection implementa parcialmente a interface Collection

A interface Collection
Mtodo add(obj) addAll(coleo1) clear() contains(obj) isEmpty() remove(obj) Descrio Adiciona o objeto na coleo Adiciona todos os elementos da coleo coleo1 na coleo atual Remove os elementos da coleo Retorna true se o objeto obj consta na coleo Retorna true se a coleo estiver vazia Remove o objeto obj da coleo

removeAll(coleo1) Remove da coleo atual todos os objetos que constam na coleo1 retainAll(coleo1) Mantm na coleo atual somente os objetos que tambm estiverem na coleo coleo1 size() Retorna a quantidade de objetos adicionados na coleo

Lists
Permite adicionar elementos duplicados na coleo Permite definir onde (em que posio) armazenar os elementos Elementos podem ser acessados por ndice

Interface Iterator
A interface Iterator estabelece as funcionalidades para percorrer os elementos da coleo:
hasNext(): retorna True se h elementos para percorrer next(): retorna o elemento atual do iterador remove() remove o ltimo elemento lido por next()

Interface para listas


Listas devem atender a interface List, que introduz novos mtodos. Implementaes de List:
ArrayList LinkedList Vector Stack

ArrayList
Implementao concreta de List Armazena elementos num vetor Dispe de mtodos para manipular o vetor privado O vetor criado dinamicamente Quando a capacidade do vetor excedida, um vetor maior criado e os elementos do vetor original so copiados para o novo

Iterador para List


Classes que realizam List devem retornar atravs do mtodo listIterator() uma instncia do iterador ListIterator. Esta interface tem como objetivo permitir navegao bidirecional na estrutura de dados

Vector
Vector uma classe similar ao ArrayList Possui mtodos sincronizados, para prevenir falhas quando modificado simultaneamente por duas ou mais threads Vector foi criado antes da JCF (na verso 2 do Java). Mais tarde foi redesenhado para se adaptar ao JCF.

Mtodos estticos de Collections


A classe Collections possui vrios mtodos estticos para trabalhar com Lists:
Instruo Collections.sort(List) Collections.sort(List, Collections.reverseOrder()) Collections.binarySearch(List, valor) Collections.reverse(List) Descrio Ordena a coleo em ordem crescente Ordena a coleo em ordem decrescente Pesquisa valor na coleo List. Obs: A lista deve estar ordenada. Troca a ordem de List, de tal forma que o ltimo se torna o primeiro, o penultimo o segundo, e assim por diante Altera a ordem dos elementos de forma randmica

Collections.shuffle(List)

Você também pode gostar