Java

781 palavras 4 páginas
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 a verificaçã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 vez de 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 Java

Estruturas 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 tipos gené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éricos
Para 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

Relacionados

  • java
    294 palavras | 2 páginas
  • java
    868 palavras | 4 páginas
  • java
    6870 palavras | 28 páginas
  • Java
    1657 palavras | 7 páginas
  • java
    1176 palavras | 5 páginas
  • Java
    6757 palavras | 28 páginas
  • Java
    1044 palavras | 5 páginas
  • Java
    1411 palavras | 6 páginas
  • JAVA
    1268 palavras | 6 páginas
  • java
    2412 palavras | 10 páginas