Я пытаюсь сохранить объекты Move в вектор с именем topMoves. Будет много объектов Move, поэтому я создаю объект внутри цикла.
В pastPriceMap хранятся цены на акции в какое-то прошлое время (в данном случае минуту назад). CurrPriceMap сохраняет цену акций некоторое время в пределах последней секунды.
У меня следующее исключение:
Исключение в потоке «Таймер-0» java.util.NoSuchElementException
Это строка, которая вызывает проблему: amove.setInitPrice (pastPriceMap.get (iter.next ()));
Фрагмент кода ниже. Когда я выполняю операторы System.out.println, я получаю ожидаемый результат:
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;
Класс Move выглядит так:
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;
}