I am trying to iterate through a list of keys from a hash table using enumeration however I keep getting a NoSuchElementException at the last key in list?
Hasht
You call nextElement()
twice in your loop. This call moves the enumeration pointer forward.
You should modify your code like the following:
while (e.hasMoreElements()) {
String param = e.nextElement();
System.out.println(param);
}
Each time you do e.nextElement()
you skip one. So you skip two elements in each iteration of your loop.
You're calling nextElement twice in the loop. You should call it only once, else it moves ahead twice:
while(e.hasMoreElements()){
String s = e.nextElement();
System.out.println(s);
}
You're calling e.nextElement()
twice inside your loop when you're only guaranteed that you can call it once without an exception. Rewrite the loop like so:
while(e.hasMoreElements()){
String param = e.nextElement();
System.out.println(param);
}
You are calling nextElement twice. Refactor like this:
while(e.hasMoreElements()){
String param = (String) e.nextElement();
System.out.println(param);
}
for (String key : Collections.list(e))
System.out.println(key);