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

涎涎原创约 429 字大约 1 分钟...JavaJava

108-Java-内部类在迭代模式中的运用.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

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

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-内部类在迭代模式中的运用 知识点的整理与总结的全部内容,另附源码open in new window

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4