java的程序问题while(it.hasNext())中的it.hasNext……什么意思啊

public static void main(String[] args) { String a = "A", b = "B", c = "C"; Collection<String> list = new ArrayList<String>(); list.add(a); list.add(b); Collection<String> list2 = new ArrayList<String>();//这句是什么意思 list2.add(b ); list2.add(c);boolean isContains = list.removeAll(list2); System.out.println(isContains); Iterator<String> it = list.iterator(); while (it.hasNext()) { String str = it.next();//这两句什么意思 System.out.println(str); }}

这是java的迭代器的用法。
it.hasNext()分为两个:it 和 .hasNext();
1. it:这里应该是上文定义了一个可迭代对象
2. .hasNext(): 检查序列中是否还有元素
3. 其他Iterator用法。
1)使用方法 iterator()要求容器返回一个 Iterator。第一次调用Iterator 的next()方法时,它返回序列的第一个元素。
2)使用next()获得序列中的下一个元素。
3)使用hasNext()检查序列中是否还有元素。
4)使用remove()将上一次返回的元素从迭代器中移除。
举例:拿ArrayList为例 这个集合的底层结构是一个可变长度的数组,是一个有序的集合,使用迭代器迭代的时候
会找到第一个元素然后进行操作,并不会将这个元素从集合中删除,然后再来判断这个元素的后面是否还有元素,如果有,继续迭代,所以你迭代完成后,集合中的元素仍然在集合中。
简单实际例子:
List<String> it = new ArrayList<>();
is.add("a");
is.add("b");
//当it还有下一个的时候

while(it.hasNext()) {
//打印出下一个,并且往后计一个

System.out.println(it.next());
}
以上代码就会打印出
a
b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-06
这里while括号里面的it.hasNext()方法用于判断it对象中有没有下一条数据 返回 bool 值 有则返回true 无 则返回false 下面的it.next()是获取it对象中的值 然后赋值给 str 然后输出这个方法其实就是循环输出it 对象中所有的值
第2个回答  2013-07-06
Collection<String> list2 = new ArrayList<String>();//这句是什么意思 定义一个ARRAYLIST 集合 while (it.hasNext()) { String str = it.next();//这两句什么意思 System.out.println(str); } while 是判断 it.hasnext() 如果迭代那个集合可以取到元素,it.hasnext()返回真;继续执行String str = it.next();//这两句什么意思 定义一个新的string对象 他的值就是 集合里面的元素,
第3个回答  2017-06-22
是否有下一个元素
第4个回答  2013-07-06
has next ? 还有没有下一个了 ?
next 下一个!
相似回答