黑马程序员技术交流社区
标题:
数组能否实现迭代器
[打印本页]
作者:
刘云龙
时间:
2012-7-25 23:38
标题:
数组能否实现迭代器
数组能否实现迭代器?迭代器只能在集合中使用吗?能否自己写一个方法,对数组实现类似迭代器的作用?
作者:
朱烈葵
时间:
2012-7-25 23:40
可以 数组变集合,在使用迭代器了,一样一样的
作者:
刘海源
时间:
2012-7-25 23:46
迭代器就是循环取值么,所以
public class Array
{
public static void main(Sting[] args)
{
int [] arr={1,3,43,12,34,123,23,23};
for(int i=0;i<arr.length;i++ )
{
System.out.println(arr[i]);
}
}
}
作者:
韦念欣
时间:
2012-7-25 23:52
看看这个高级FOR循环,其实这个FOR循环就是对arr数组进行迭代了。
int[] arr = {1,2,3,4,5,6,7,8,9,0};
for (int i: arr){
System.out.println(i);
}
作者:
李菁
时间:
2012-7-26 00:15
其实数组中的指针本身就是一个迭代器。Iterator模式用于遍历集合类的标准访问方法。
要遍历数组最好是用传统for循环或高级for循环,例如:
int[] num={1,2,3,4,5};
传统for循环:
for(int i=0;i<num.length;i++){
System.out.println(num
);
}
高级for循环:
for(int i:num){
System.out.print(i);
}
作者:
罗宵
时间:
2012-7-26 09:22
可以的,增强for循环内部就是实现iterator接口的。
int[] num={1,2,3,4,5};
for(int x;num){
sop(x)
}
这就遍历数组了
作者:
刘奇
时间:
2012-7-26 11:20
java里的新特性,forserch就可以是实现数组迭代
for(type x:array)
{
//迭代 x
}
作者:
刘健
时间:
2012-7-26 16:13
迭代器一般用于遍历,而可以遍历的当然不仅仅是集合了,list,map,set等等显然都是可以用迭代器遍历输出的
作者:
王渠
时间:
2012-7-26 18:56
可以告诉你,迭代器的原理。首先迭代器是出现在Collection接口中的。
然后被几个抽象类实现了,而此处被实现正是迭代器方法。iterator(),hasNext();其实是用的成员变量size来做判断的,每next()一次,size自减一。直到值为-1.也就是说,没有下个了。
next的话,就根据之前的next方法后,得到的角标,返回元素。
这样看来,是否会觉得和数组非常相似,其实底层就应该是数组,集合的功能都可以用数组去实现。当然可能还需要定义一些其他的类。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2