码迷,mamicode.com
首页 > 编程语言 > 详细

java中自己实现一个可以用foreach循环的类 Iterable,Iterator

时间:2017-05-10 12:55:59      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:generate   nts   接口   int   ext   length   object   todo   ring   

要实现一个可以用可以用foreach循环的类就必须实现Iterable这个几口,接口中重写一个iterator方法,这个方法返回一个 Iterator<E>接口。

代码如下:

public class IterTest   implements Iterable<String> {
      //存储内容的数组 private Object[] obj=new Object[1]; //记录添加元素的个数 private int size;
//记录当前元素的下标 private int current=0; //添加元素 public void add(String str){
//判断数组是否已经满了如果满了扩张数组 if(size==obj.length){ //扩张数组到一个新长度 obj=Arrays.copyOf(obj, obj.length+obj.length<<1); } obj[size++]=str; }
//重写iterator方法 public Iterator<String> iterator() { 定义实现了Iterator的内部类 class iter implements Iterator<String> { @Override public boolean hasNext() { // 判断当前指针是否小于实际大小 if(current<size){ return true; } return false; } @Override public String next() { // 返回当前元素,并把当前下标前移 return obj[current++].toString(); } @Override public void remove() { // TODO Auto-generated method stub } } // 返回自定义的Iteraror子类 return new iter(); } }

  

java中自己实现一个可以用foreach循环的类 Iterable,Iterator

标签:generate   nts   接口   int   ext   length   object   todo   ring   

原文地址:http://www.cnblogs.com/wolf-zt/p/6835012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!