我正在创建一个库存来存储图书信息。我已经完成了插入,删除,搜索等功能。 然后,我看到运动要求有一条线说:
您还需要为链接列表实现Iterator。
我在线查看Iterator并观看了一些视频,但仍然无法理解迭代器是什么以及如何实现到我的链表中。
任何人都可以帮助我吗?谢谢。
答案 0 :(得分:0)
迭代器基本上允许您迭代Collection。我不知道是什么意思:
您还需要为链接列表实现Iterator
但我认为,它希望你使用Iterator迭代你的Collection并按照这样做你的操作。
使用迭代器迭代集合:
List<Object> list = new LinkedList<>();
Iterator<Object> it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
// Do stuff
}
如果这不是你想要的,我似乎错过了这个问题。
答案 1 :(得分:0)
链接列表已经实现了Iterable接口(通过其他依赖项),这表明它需要有iterator()方法来重新调整Iterator对象,这允许您遍历列表。迭代是获取每个下一个现有元素,而不将之前的元素保留在内存中。
Iterator必须实现两个方法 - next() - 如果存在则获取下一个元素,如果不存在则抛出noSuchElementException,并且hasNext()返回true或false。
在您的例外情况中,我认为您可能需要为自己的链接列表包装器实现Iterator的自定义实现,以获取有关如何构建Iterator及其用途的知识。