Java

Disponível somente no TrabalhosFeitos
  • Páginas : 4 (781 palavras )
  • Download(s) : 0
  • Publicado : 17 de maio de 2012
Ler documento completo
Amostra do texto
5. Generics, Iterators e Comparable em Java
Fernando Silva
DCC-FCUP

Estruturas de Dados

Fernando Silva (DCC-FCUP)

5. Generics, Iterators e Comparable em Java

Estruturas de Dados

1 /12

Tipos de Dados Abstractos – Generics em Java
A partir do Java 5.0, passamos a ter uma base mais robusta e genérica
para lidar com tipos abstractos de dados sem que se tenha de recorrer a“castings” explícitos.

Um tipo de dados genérico é
um tipo de dados que não está definido em tempo de compilação, mas que
fica completamente especificado em tempo de execução.
Vantagens:
permite averificação de erros em tempo de compilação.
permite que se definam classes em termos de um conjunto de tipos
formais de parâmetros, que podem ser usados para abstrair variáveis
internas.
Exemplo: em vezde termos uma lista de inteiros, passar a ter uma
lista genérica em que o tipo de dados é definido em tempo de
execução.
Fernando Silva (DCC-FCUP)

5. Generics, Iterators e Comparable em JavaEstruturas de Dados

2 / 12

Object vs. Generics
Uma forma de definirmos classes com atributos que pudessem representar
qualquer objecto era fazendo uso do tipo de dados Object.
Por exemplo,fazendo uso das classes Node e LinkedList do capítulo 4,
podemos ter:
LinkedList l= new LinkedList();
l.addFirst(new Integer(2));
Integer x= (Integer) l.get(0); // casting explícito
A ideia dos tiposgenéricos é poder ter, por exemplo, uma definição de
lista genérica em que possa posteriormente explicitar qual o tipo particular
de dados que vai ter. Por exemplo:
LinkedList l= new LinkedList();l.addFirst(new Integer(2));
Integer x= l.get(0);
Fernando Silva (DCC-FCUP)

5. Generics, Iterators e Comparable em Java

Estruturas de Dados

3 / 12

Exemplo de classe com tipos genéricosPara definir uma classe genérica, introduzimos parâmetros genéricos
usando letras como E, K, T, V.

Fernando Silva (DCC-FCUP)

5. Generics, Iterators e Comparable em Java

Estruturas de...
tracking img