В моем приложении у меня есть очередь, состоящая из 4 элементов, каждый элемент является HashMap
BlockingQueue<HashMap<Integer, double[]>> myInput;
Теперь я могу извлечь все 4 компонента, делая что-то вроде:
try {
firstElement = myInput.take();
} catch (InterruptedException ex) {
Logger.getLogger(DirectionOfArrival.class.getName()).log(Level.SEVERE, null, ex);
}
try {
secondElement = myInput.take();
} catch (InterruptedException ex) {
Logger.getLogger(DirectionOfArrival.class.getName()).log(Level.SEVERE, null, ex);
}
try {
thirdElement = myInput.take();
} catch (InterruptedException ex) {
Logger.getLogger(DirectionOfArrival.class.getName()).log(Level.SEVERE, null, ex);
}
try {
fourthElement = myInput.take();
} catch (InterruptedException ex) {
Logger.getLogger(DirectionOfArrival.class.getName()).log(Level.SEVERE, null, ex);
}
заканчивается тем, что:
firstElement
secondElement
thirdElement
fourthElement
Я хотел бы спросить вас, ребята, как бы вы выполнили вышеупомянутую операцию при работе с очередью, состоящей не только из 4 элементов (где легко получить firstElement, secondElement, thirdElement, четвертыйElement ), но, например, с очередью, состоящей из 400 элементов (важно отметить, что я хотел бы получить даже в этом сценарии что-то вроде firstElement, secondElement, ...,
fourhundredthElement).
Есть ли быстрый и элегантный способ сделать это?
Любая помощь будет высоко оценена
Заранее большое спасибо