新人问个很基础的问题。
Set set=new HashSet();
set.add("zhangsan");
set.add("wangwu");
Iterator ite=set.iterator();
while (ite.hasNext()) {
System.out.println(ite.next());
}
这个Iterator是接口。为什么set可以直接用他的方法。
还有麻烦大神讲一下这个while的用法是什么意思。
------解决思路----------------------
HashSet 是Set 接口的子类,主要特点是:里面不能存放重复的元素,而且采用散列的存储方式,所遇没有顺序。
判断ite是否有值,有就打印出来,没就跳出循环
while语法:
语法一: while(条件){ //要执行的代码 }
语法二:do{ //要执行的代码 } while(条件)
------解决思路----------------------
1、这是java的主要特性之一,多态,看看多态相关的知识
2、这里while的用处是遍历ite,并打印
------解决思路----------------------
while (ite.hasNext()) {
System.out.println(ite.next());
}
这里的while判断set集合里面是否还有值。
------解决思路----------------------
多态 调用的iterator 其实是其实现类 HashSet 继承 Set 的方法
------解决思路----------------------
while的用法:
循环 条件是 ite.hasNext() 判断集合中是否有下一个元素 如果有 ite.hasNext() 为true 如果没有下一元素 ite.hasNext() 为false 此时跳出循环
------解决思路----------------------
set 没有直接用他的方法
是ite用他的方法。