在循环中删除元素后对迭代器进行排序

时间:2015-03-06 09:48:04

标签: java loops iterator remove-if

在我的代码中,我编写了一个函数来获取一个特定商店的所有条目。 我的查询返回所有条目,在迭代这些条目之后,我使用导入参数Status删除查询。

条目以更正的形式排序。删除第一个元素后,迭代器从底部开始,排序从ZtoA开始,而不是从AtoZ开始。

Collection col; 
col = recallStoreHome.findByStoreId(storeid);

for (Iterator it = col.iterator(); it.hasNext();) {
                RecallStoreEntityLocal recallStore =(RecallStoreEntityLocal) it.next();
                Recall recall = this.getRecall(recallStore.getRecallid());
                if(!recallStatus.equalsIgnoreCase(recall.getStatus()))
                {
                    it.remove();
                }
}


Iterator before: [a, b, c, d, e, f]
Iterator after : [a, f, e, d, c, b]

是否可以保留排序?

结果应为:[a,b,c,d,e,f]

0 个答案:

没有答案