Java-内部类在迭代模式中的运用

注:本例中用中文作为包名是不规范的写法,仅方便中国大陆同胞更好的理解包的作用,实际开发中均用英文。

package 内部类.现象一;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        
        //MyList list = new MyList();
        /**
         * list.add("");
         * 
         * MyIterator it = list.iterator();
         */
        
        
        list.add("zhangsan");
        list.add("lisi");
        list.add("wangwu");
        
        Iterator<String> it = list.iterator();
        
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }

}
package 内部类.自已写迭代实现;

public interface MyIteratorIfac {

    public boolean hasNext();
    
    public String next();
    
}
package 内部类.自已写迭代实现;

import java.util.ArrayList;
import java.util.List;

/**
 * 定义一个集合类
* <p>Title: MyList</p>  
* <p>Description: </p>  
* @author xianxian 
* @date 2019年7月9日
 */
public class MyList {

    private List list = new ArrayList<>();
    
    public void add(String str) {
        list.add(str);
    }
    
    //定义一个迭代方法
    public MyIterator iterator() {
        return new MyIterator();
    }
    
    //定义一个内部类
    private class MyIterator implements MyIteratorIfac{

        int index = 0;
        @Override
        public boolean hasNext() {
            if(index < list.size()) {
                return true;
            }else {
                return false;
            }
        }

        @Override
        public String next() {
            String s = (String)list.get(index);
            index++;
            return s;
        }
        
    }
}
package 内部类.自已写迭代实现;

public class Test {

    public static void main(String[] args) {

        MyList list = new MyList();
        
        list.add("zhangsan");
        list.add("lisi");
        list.add("telangpu");
        
        MyIteratorIfac it = list.iterator();
        
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

以上就是我关于 Java-内部类在迭代模式中的运用 知识点的整理与总结的全部内容,另附源码


分割线


博主为咯学编程:父母不同意学编程,现已断绝关系;恋人不同意学编程,现已分手;亲戚不同意学编程,现已断绝来往;老板不同意学编程,现已失业三十年。。。。。。如果此博文有帮到你欢迎打赏,金额不限。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容