List和Set中Iterator的next()用法的区别?

ameyume ameyume 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1.hasNext()函数的API解释
boolean java.util.Iterator.hasNext()
hasNext
boolean hasNext()Returns true if the iteration has more elements. (In other words, returns true if next() would return an element rather than throwing an exception.)
Returns:
true if the iteration has more elements
--------------------------简单的分割线-------------------------------
2.next()函数的API解释
Object java.util.Iterator.next()
next
E next()Returns the next element in the iteration.
Returns:
the next element in the iteration
Throws:
NoSuchElementException - if the iteration has no more elements
--------------------------简单的分割线-------------------------------
1.List对象中next()的使用
使用Collection类的Iterator,可以方便的遍历Vector, ArrayList, LinkedList等集合元素,避免通过get()方法遍历时,针对每一种对象单独进行编码。
示例:
Collection coll = new Vector(); //LinkedList(); //ArrayList();   
coll.add("Tody");
coll.add("is");
coll.add("Sunday.");

// Output all elements by iterator
Iterator it = coll.iterator();
while(it.hasNext()) {
System.out.print(it.next() + " ");
}

输出:
Tody is Sunday.

2. Set中next()的使用
Collection coll = new HashSet();   
coll.add("Tody");
coll.add("is");
coll.add("Sunday.");

// Output all elements by iterator
Iterator it = coll.iterator();
while(it.hasNext()) {
System.out.print(it.next() + " ");
}

输出:
is Sunday. Tody

由上面两个例子看出,在List和Set对象中,Iterator的next()方法返回的值是不一样的。在List对象中,第一次next()返回的是第一个元素,在Set中,第一次返回的是下一个元素,但Set中,在set的结尾执行hasNext()时,返回true,表示第一个元素,执行next()会把第一个元素返回。

问题:
可以按照上述理解next()?
如果不是,那该怎么理解next()?
多谢!
...全文
评论 10
收藏 已收藏
分享
返回顶部
ameyume
ameyume 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
Java SE 62,621 成员 307,251 内容