В основном, есть данные ответа, которые необходимо отфильтровать. Данные ответа состоят из ListTrasporter, который содержит ListClass. Он зацикливает каждый ListTransporter и для каждого ListTransporter, который имеет пустой ListClass - этот элемент ListTransporter удаляется. Я использовал итератор для этого, вот код:
Iterator<Transporter> iterator = item.getListTransporter().iterator();
while (iterator.hasNext()) {
Transporter trans = iterator.next();
List<TransporterClass> responseType = trans.getListClass();
if (responseType.isEmpty() || responseType.size() == 0) {
iterator.remove();
}
}
Теперь проблема в том, что когда первый элемент содержит данные, которые фильтруются и удаляются, он вызвал ошибку IndexOutOfBoundsException из-за следующих строк кода:
Transporter firstItemTransporter = firstItem.getListTransporter().get(0);
Transporter secondItemTransporter = secondItem.getListTransporter().get(0);
Вызывает первый элемент, но первый элемент пуст. Есть ли способ решить эту ошибку. Любая помощь приветствуется, спасибо.