Ce que j'essaie de faire est de sauvegarder un objet Move dans un vecteur appelé topMoves. Il y aura beaucoup d'objets Move, c'est pourquoi je crée l'objet dans la boucle. PastPriceMap stocke les prix des stocks à un moment donné (dans ce cas il y a une minute). Le currPriceMap stocke le prix des actions dans la dernière seconde.NoElementException mais j'imprime l'élément et obtiens le résultat attendu
je reçois l'exception suivante:
Exception dans le thread "Timer 0" java.util.NoSuchElementException
Ceci est la ligne qui est à l'origine du problème: amove.setInitPrice (pastPriceMap.get (iter.next()));
L'extrait de code est ci-dessous. Quand je fais les instructions System.out.println je reçois le résultat attendu:
Iterator<String> iter = sortedTopCodes.iterator();
while(iter.hasNext()){
System.out.println(currPriceMap.get(iter.next()));
System.out.println(pastPriceMap.get(iter.next()));
Move amove = new Move();
amove.setSecCode(iter.next());
amove.setPrice(currPriceMap.get(iter.next()));
amove.setInitPrice(pastPriceMap.get(iter.next()));
topMoves.add(amove);
}
return topMoves;
La classe Move ressemble à ceci:
private String secCode;
private double price;
private double initPrice;
public String getSecCode() {
return secCode;
}
public void setSecCode(String secCode) {
this.secCode = secCode;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getInitPrice() {
return initPrice;
}
public void setInitPrice(double lastPrice) {
this.initPrice = lastPrice;
}
Merci. Remplacé le iter.next() par secCodeIter et défini chaîne secCodeIter = iter.next() – Ankur