/**
*演示List的多种遍历方法
*/
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.ListIterator;
public class UseList
{
public static void main(String[] args)
{
//List<String> list = new ArrayList<>();
List<String> list = new LinkedList<>();
list.add("zhangsan");
list.add("lisi");
list.add("wangwu");
list.add("liuliu");
list.add("liuliu");
System.out.println(list);
System.out.println("\n");
//第一种遍历方法
Object[] listarr = list.toArray();
for(int i = 0; i < listarr.length; i++)
{
System.out.print(listarr[i] + " ");
}
System.out.println();
//第二种遍历方法
String[] listarr2 = list.toArray(new String[0]);
for(int i = 0; i < listarr2.length; i++)
{
System.out.print(listarr2[i] + " ");
}
System.out.println();
//第三种遍历方法
for(int i = 0; i < list.size(); i++)
{
System.out.print(list.get(i) + " ");
}
System.out.println();
//第四种遍历方法
for(String str : list)
{
System.out.print(str + " ");
}
System.out.println();
//第五种遍历方法(单向从前往后遍历)
Iterator<String> it = list.iterator();
while(it.hasNext())
{
System.out.print(it.next() + " ");
}
System.out.println();
//第六种遍历方法(双向从前往后遍历或者从后往前遍历)
ListIterator<String> it2 = list.listIterator();
while(it2.hasNext())
{
System.out.print(it2.next() + " ");
}
System.out.println();
//从后往前遍历
while(it2.hasPrevious())
{
System.out.print(it2.previous() + " ");
}
System.out.println();
//第七种遍历方法(forEach+拉姆达表达式:JDK8以后才支持的!)
list.forEach(item->System.out.print(item + " "));
System.out.println("\n");
}
}