Last active
April 2, 2017 12:45
-
-
Save lucas2213690/8e0d101a226367220f93ff85d7cb3854 to your computer and use it in GitHub Desktop.
Iterador para Lista simplesmente encadeada em Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.uefs.ecomp.spalle.util; | |
import java.util.NoSuchElementException; | |
/** | |
* Classe que representa o iterador utilizado para percorrer a lista encadeada | |
* @author Lucas Alves da Encarnação Oliveira | |
* | |
*/ | |
public class Iterator implements Iterador { | |
private Celula proximaCelula; | |
/** | |
* Construtor da classe Iterator | |
* @param primeira - Recebe o primeiro elemento da lista | |
*/ | |
public Iterator(Celula primeira){ | |
this.proximaCelula = primeira; | |
} | |
/** | |
* Método utilizado para verificar se tem um próximo elemento | |
* @return boolean - true se tiver proximo elemento, false se não tiver nenhum próximo elemento | |
*/ | |
public boolean temProximo(){ | |
//return proximaCelula.getProxima() != null; | |
return proximaCelula != null; | |
} | |
/** | |
* Método que retornar o elemento atual e itera a lista para o próximo elemento | |
* @return node - Retorna o elemento atual | |
* @exception NoSuchElementException() | |
*/ | |
public Object obterProximo(){ | |
if (!temProximo()) throw new NoSuchElementException(); | |
Object node = proximaCelula.getElemento(); | |
proximaCelula = proximaCelula.getProxima(); | |
return node; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment