首先,搞明白Iterator与Iterable的区别:
Iterator是迭代器类,里面有很多的方法,比如:next(),hasNext()……
Iterable是接口,其中要求实现一个iterator()方法。
其次,List接口是Collection接口的子接口,而Collection接口是Iterable的子接口。
之后,ArrayList实现了List接口。其中有方法add(),get(i),size()等等,ArrayList主要用在存入时为了取出,而不做删除或者插入操作的情况。
最后,一个简单的例子来实现:(读取list中的数据时直接用遍历)
import java.util.*;
public class ArrayListde{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
List<String> list=new ArrayList<String> ();//ArrayList不能改成List,
//因为List是抽象的
System.out.println("请输入名称(输入quit结束)");
while (true){
String input=scanner.next();
if (input.equals("quit")){
break;
}
list.add(input);
}
System.out.println("显示您的输入:");
for (String aa:list)
{
System.out.println(aa);
}
}
}
也可以用迭代器(Interator),使用list.iterator()方法返回迭代器类:
import java.util.*;
public class Arrayde{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
List<String> list=new ArrayList<String> ();//ArrayList不能改成List,
//因为List是抽象的
System.out.println("请输入名称(输入quit结束)");
while (true){
String input=scanner.next();
if (input.equals("quit")){
break;
}
list.add(input);
}
System.out.println("显示您的输入:");
Iterator iterator=list.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next());
}
}
}