Java-内部类在迭代模式中的运用
原创约 429 字大约 1 分钟...
108-Java-内部类在迭代模式中的运用.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
注:本例中用中文作为包名是不规范的写法,仅方便中国大陆同胞更好的理解包的作用,实际开发中均用英文。
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-内部类在迭代模式中的运用 知识点的整理与总结的全部内容,另附源码
Powered by Waline v2.15.4