java中集合输出的四种方式

时间:2022-09-03 16:30:31

一、Literator:迭代器
public boolean hasNext();
public E next() ;
Iterator本身是一个接口,要想取得实例化只能依靠Collection接口中的一个操作方法:

public Iterator<E> iterator();

示例代码:

public class MyLiterator {

public static void main(String[] args) {
Set<String> s = new HashSet<String>();
s.add("1");
s.add("2");
s.add("3");
Iterator<String> iter = s.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}

}
}

总结:只要是集合的输出,直接使用Iterator

二、双向迭代:ListLterator
右前向后或者由后向前输出,只能够为List子接口输出接口

public boolean hasPrevious();
public E previous();

注:双向输出,必须是有从前到后的输出,才有从后到前的输出
示例代码:

public static void main(String[] args) {
List<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
ListIterator<String> iter = s.listIterator();
//由前向后输出
while(iter.hasNext()) {
System.out.print(iter.next()+"、");
}
//由后向前输出:
while(iter.hasPrevious()) {
System.out.print(iter.previous()+"、");
}


}
}

三、foreach输出
示例代码:

public class MyLiterator {

public static void main(String[] args) {
List<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
for(String str:s) {
System.out.println(str);
}

}
}

四、Enumeration输出
定义:

public interface Enumeration<E>

方法:

public boolean hasMoreElements();//判断是否有下一个元素,等同于hasNext()
public E nextElement();//取出当前元素,等同于next()

取得Enumeration接口的实例化对象只能依靠Vector子类,在Vector子类中方法:

public Enumeration<E> elements();

示例代码

public class MyLiterator {

public static void main(String[] args) {
//此时不能使用List<String> s = new Vector<String>();
//因为elements()方法是Vector子类中特有的方法
Vector<String> s = new Vector<String>();
s.add("A");
s.add("B");
s.add("C");
Enumeration<String> enu = s.elements();
while(enu.hasMoreElements()) {
System.out.println(enu.nextElement());
}


}
}

——————————————————————–总结:
集合虽然有四种形式,但是以Iterator与Enumeration输出为主,特别是Iterator