No laboratório de hoje vocês irão exercitar a criação de classes e interfaces genéricas ou parametrizadas. Baixe o projeto BlueJ do laboratório. Como sempre, caso você esteja no Eclipse copie os arquivos .java
para um projeto Eclipse recém-criado.
1. Converta as classes Node
, StackLinked
e QueueLinked
para classes genéricas, cujo parâmetro representa respectivamente o tipo do item do nó e o tipo dos elementos guardados na pilha e fila.
2. Faça QueueLinked
implementar a interface Iterable<E>
vista em sala (você vai ter que criar uma implementação adequada de Iterator<E>
também).
3. Implemente o método push(Collection<E> col)
em StackLinked
, que empilha todos os elementos da coleção col
. Modifique o argumento de tipo de Collection<E>
para usar um coringa.
4. Implemente o método dequeueAll(Collection<E> col)
em QueueLinked
, que move todos os elementos da fila para a coleção col
(use o método dequeueAll()
já presente como base). Modifique o argumento de tipo de Collection<E>
para usar um coringa.
5. Crie uma função genérica createQueue(E... args)
em QueueLinked
que instancia uma fila e a preenche os argumentos passados.
Última Atualização: 2016-12-09 11:49