<E> oque significa?

Tava olhando a documentação da classe Iterator, e vi isso:
“public interface Iterator<E>
An iterator over a collection. Iterator takes …”

oque significa esse <E> ?

<E> tipo de objeto que vai estar na sua Collection

Antes voce fazia:

LinkedList lista = new LinkedList();

//…

Iterator it = lista.iterator();

MeuObjeto var = (MeuObjeto)it.next();

Agora você faz:

LinkedList<MeuObjeto> lista = new LinkedList();

//…

Iterator<MeuObjeto> it = lista.iterator();

MeuObjeto var = it.next();

Esta atualização nas classes do java.util serve para o programador não precisar usar casts durante a manipulação das estruturas de dados, pois agora o compilador já fica sabendo desde a criacao da estrutura qual o tipo de objeto que o programa vai manipular.

()

Esse <E> significa que a classe é genérica, de acordo as especificações feitas no Tiger. Em suma, quer dizer que você pode definir que tipos (classes) de elementos seu Iterator vai encontrar. Exemplos:

// aqui, você está criando um HashSet de Components. Você só pode 
// adicionar objetos que são Components à coleção, ou será detectado um 
// erro em tempo de compilação.
Set&lt;Component&gt; set = new HashSet&lt;Component&gt;&#40;&#41;; 
set.add&#40;new JFrame&#40;&#41;&#41;; // JFrame é um Component, funciona tranqüilo
set.add&#40;&quot;eu sou um Component&quot;&#41;; // Erro&#58; um String não é um Component

// E aqui você pegou um objeto Iterator que itera apenas numa lista de 
// Components
Iterator&lt;Component&gt; iterator = set.iterator&#40;&#41;;

Dê uma lida [size=“18”]aqui[/size] para maiores informações.

Sem mais,