如何使用Java维护迭代器
我有一个迭代器实例。我要知道这个的尺寸。在这里,我得到了条目的大小。平均大小是8。假设我只想在这个迭代器中显示5个值。我如何实现这一点如何使用Java维护迭代器,java,list,iterator,Java,List,Iterator,我有一个迭代器实例。我要知道这个的尺寸。在这里,我得到了条目的大小。平均大小是8。假设我只想在这个迭代器中显示5个值。我如何实现这一点 Document<Feed> feeddoc = resp.getDocument(); List<Entry> entries = feeddoc.getRoot().getEntries(); entries = feeddoc.getRoot().getEntries(); Iterator<Entry> iterato
Document<Feed> feeddoc = resp.getDocument();
List<Entry> entries = feeddoc.getRoot().getEntries();
entries = feeddoc.getRoot().getEntries();
Iterator<Entry> iterator = entries.iterator();
int size = entries.size(); //8
while (iterator.hasNext()) {
/* here I am getting 8 values means iterating 8 times but I want to iterate only 5 times */
Entry next = iterator.next();
userDetailsVos = new UserDetailsVos();
userDetailsVos.setTitle(next.getTitle());
final IRI temp = next.getLinkResolvedHref("alternate");
userDetailsVos.setUrl(temp.toString());
userDetailsVos.setTime(next.getContentElement().getFirstChild().getElements().get(5).getText());
System.out.println("(1)--" + next.getTitle());
System.out.println("(2)--" + next.getContentElement().getFirstChild().getElements().get(5).getText());
System.out.println("url: " + temp.toString());
}
您可以告诉循环最多迭代5个元素:
for (int i = 0; i < 5 && iterator.hasNext(); i++) {
....
这将迭代最多5个元素,但如果少于5个元素,则只有在迭代器有下一个元素时才会迭代。使用如下计数器变量:
int count = 0;
while (iterator.hasNext()) {
if (count == 5)
break;
count ++;
//existing logic...
您可以使用列表子列表 比如说
entries.subList(0,4).iterator();
它只会给出列表中的第0到第4个元素条目。子列表-这类标准的简单而最佳的方法。不需要计数器和显式for循环!谢谢…它正在工作…@Eran