Mi chiedo come utilizzare l'iteratore in una classe Stack. Come posso creare una classe iteratore per questo?Come eseguire una ripetizione di una pila in Java
risposta
solo ottenere il Iterator
via iterator()
:
Stack<YourObject> stack = ...
Iterator<YourObject> iter = stack.iterator();
while (iter.hasNext()){
System.out.println(iter.next());
}
Oppure, in alternativa, se si desidera solo stampare tutti usano il enhanced-for loop:
for(YourObject obj : stack)
{
System.out.println(obj);
}
Senza iteratore - mentre {... currentSymbol = stack.pop(); ...} –
@HiteshSahu Dopo esecuzione (stack.isEmpty()!) il tuo codice, 'Stack' sarà vuoto poichè' pop() 'rimuove la parte superiore della pila. – Baz
Accetto. Stavo costruendo un compilatore e stavo usando questa variazione per l'analisi sintex. –
Stack<Object> myStack; // obtain your Stack object
Iterator iterator = myStack.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();
}
Si prega di scrivere anche qualche spiegazione, cosa fa questo codice. – Lucifer
si potrebbe fare:
for (Iterator<MyObject> iterator = stack.iterator(); iterator.hasNext();) {
MyObject myObject = iterator.next();
myObject.doStuff();
}
Sembra che tu abbia implementato una classe di stack personalizzata. Il tuo "qualcosa" dovrebbe implementare l'interfaccia Iterable
e fornire un'implementazione di Iterator
.
public class MySomethingThatIsAStack<T> implements Iterable<T> {
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
// your implementation of the iterator, namely the
// methods hasNext, next and remove
}
}
}
I am working on something that is implementing a stack using queues
Questo significa che non si utilizza la Java Stack
implementazione? http://docs.oracle.com/javase/6/docs/api/java/util/Stack.html Si basa su Vector non in coda.
Se si utilizza l'implementazione Java Stack
, è possibile utilizzare iteratore come altre risposte. Altrimenti, se questa è una custom Stack
, è necessario implementare l'interfaccia Iterable
. E poi puoi fare qualcosa come altre risposte.
- 1. [A] Come eseguire una ripetizione MP3 in javafx?
- 2. Come definire una pila di caratteri?
- 3. test di integrazione di una pila poliglotta (Java/MongoDB/RabbitMQ ...)
- 4. Inversione di una parola con una pila
- 5. Ripetizione di Java Array
- 6. Ordinamento di una pila in ordine ascendente?
- 7. Ripetizione di una lista in Scala
- 8. Ripetizione di una sequenza ripetuta
- 9. Ripetizione di una stringa in Java - simile alla semplicità di una riga di Python
- 10. UINavigationController: Come faccio ad eliminare una vista di una pila
- 11. Popping ad una viewcontroller specifica in una pila di navigazione
- 12. Come posso eseguire il checkout di un file non tracciato in una pila git?
- 13. C++: Memorizzazione le strutture in una pila
- 14. Una versione più potente di punto (ripetizione)
- 15. Che cos'è una pila di operandi?
- 16. Come utilizzare una pila per analizzare una stringa
- 17. AngularJS nidifica in una ripetizione ng
- 18. Come rimuovere una pila che non si trova in cima alla pila in C#
- 19. Come eseguire una copia profonda di un InputStream in Java
- 20. Come riutilizzare una query di grandi dimensioni senza ripetizione?
- 21. Come verificare se una pila <T> è vuota
- 22. Aggiunta di una riga a una ripetizione numpy
- 23. Java: eseguire il comando in una nuova cmd.exe come amministratore
- 24. È possibile abbinare una ripetizione di carattere con regex? Come?
- 25. Sanitizza una stringa con ripetizione non alphaum
- 26. buffer protocollo Java RPC Pila
- 27. Posso eseguire una ricerca sul server di posta in Java?
- 28. Ripetizione di una sezione di un'immagine nei CSS
- 29. Android: come posso creare una vista a pila spostabile?
- 30. Fare una trama area in pila utilizzando ggplot2
Iterator pubblico iterator() { \t \t \t} –