如何限制通过List的迭代次数

时间:2012-06-04 07:14:10

标签: java arraylist caldav

如何限制迭代器的结果超过我的列表?

try {
    ArrayList<CalanderQueryOutput> results = new ArrayList<CalanderQueryOutput>();

    List<?> eventsToday = (List<?>) filter.filter(calendar.getComponents(Component.VEVENT));
    CalanderQueryOutput caldavOutput = new CalanderQueryOutput();

    for (Iterator<?> i = eventsToday.iterator(); i.hasNext();) {
    }
    results.add(caldavOutput);
}

我想列出最多十个结果

3 个答案:

答案 0 :(得分:1)

当计数器达到某个值时,您可以添加一个计数器和break;循环。

循环之前:

int counter = 1;

在循环中:

if(counter >= 10)
   break;

/* loop code */

counter++;

答案 1 :(得分:1)

这样做:

...
for (Object event : eventsToday.subList(0, Math.min(9, eventsToday.size() - 1))) {
    // do something with "event"
}
...

答案 2 :(得分:0)

在循环中,使用计数器并按如下方式检查:

if(counter < 10) results.add(caldavOutput);
.....
......
counter++;