1.集合的输出方式
集合的输出方式
* JDK1.8以前支持:iterator,listiterator,Enumeration,foreach/for
* 1.Iterator
* public interface Iterator<E>
* 主要方法:
* boolean hasNext()
* E next()
* Iterator本身是一个接口,如果想要取得Iterator接口实例化只能依靠Collection接口中的 Iterator<E> iterator()方法;
1.iterator
List list=new ArrayList<String>();
list.add("我是第一个元素");
list.add("我是第二个元素");
list.add("我是第三个元素");
Iterator<String> iterator = list.iterator();//只能前往后输出;
while(iterator.hasNext()){
System.out.println(iterator.next());
}
2.listiterator
双向迭代
双向迭代,ListIterator是专门为list子接口定义的一个输出接口;
//但是如果想要实现由前向后的输出,必须先发生由前往后的输出;
//boolean hasPrevious()是否由前一个元素
//E previous()取得前一个元素
List list=new ArrayList<String>();
list.add("我是第一个元素");
list.add("我是第二个元素");
list.add("我是第三个元素");
System.out.println("由前往后输出:");
ListIterator<String> listit=list.listIterator();
while(listit.hasNext()) {
System.out.println(listit.next());
}
System.out.println("由后往前输出:");
while(listit.hasPrevious()) {
System.out.println(listit.previous());
}
3.Enumeration
public interface Enumeration<E> jDK1.0提供的
//boolean hasMoreElements()是否由下一个元素,相当于hasNext()
//E nextElement() 获取下一个元素 ,相当于next()
//如果向获取Enumeration接口的实例化,只能依靠vector类来实现
//在vector中定义了方法来操作public Enumeration<E> elements()
List list=new ArrayList<String>();
list.add("我是第一个元素");
list.add("我是第二个元素");
list.add("我是第三个元素");
Vector<String> vectorlist=new Vector<String>();
Enumeration<String> elements = vectorlist.elements();
vectorlist.add("one");
vectorlist.add("two");
vectorlist.add("three");
while(elements.hasMoreElements()) {
String nextElement = elements.nextElement();
System.out.println(nextElement);//这个方式在一些古老的操作中会使用;
}
4.for/foreach
List list=new ArrayList<String>();
list.add("我是第一个元素");
list.add("我是第二个元素");
list.add("我是第三个元素");
//使用for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}//使用forech
for (Object object : list) {
System.out.println(object);
}