package com.scc.stage02;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class Demo02 {
//List集合这边,都具备下标所有都支持普通for循环
public static void main(String[] args) {
List<String> list=new LinkedList<>();
list.add("a5");
list.add("a2");
list.add("a3");
list.add("a6");
list.add("a4");
list.add("a1");
System.out.println("------------1.普通for循环遍历list集合-----------------");
for(int i=0;i<list.size();i++) {
String str = list.get(i);
System.out.print(str+" ");
}
System.out.println();
System.out.println("------------2.增强for循环遍历list集合-----------------");
//2.支持增强for循环
/*其实底层就是迭代器实现
* for (Iterator iterator1 = list.iterator(); iterator1.hasNext();)
System.out.println(iterator1.next());
*/
for (String str : list) {
System.out.print(str+" ");
}
System.out.println();
System.out.println("------------3.迭代器遍历list集合-----------------");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
String str = iterator.next();
System.out.print(str+" ");
}
System.out.println();
System.out.println("----------4.迭代器可以修改为for循环版本---------------");
//for(int i=0;i<size;i++) 在这里省略了i++,因为迭代器用的指针会自行指向下一个元素
for(Iterator<String> it=list.iterator();it.hasNext();) {
System.out.print(it.next()+" ");
}
//Iterator有一个子接口ListIterator 这个接口更加的强
System.out.println();
System.out.println("----------5.只适用于Vector,非常少使用(了解)-----------------");
Vector<String> v=new Vector<>();
v.addAll(list);
Enumeration<String> elements = v.elements();
while(elements.hasMoreElements()) {
System.out.print(elements.nextElement()+" ");
}
}
}
------------1.普通for循环遍历list集合-----------------
a5 a2 a3 a6 a4 a1
------------2.增强for循环遍历list集合-----------------
a5 a2 a3 a6 a4 a1
------------3.迭代器遍历list集合-----------------
a5 a2 a3 a6 a4 a1
----------4.迭代器可以修改为for循环版本---------------
a5 a2 a3 a6 a4 a1
----------5.只适用于Vector,非常少使用(了解)-----------------
a5 a2 a3 a6 a4 a1