标签:
list遍历各种方法优劣?
先介绍list的遍历方法:
package com.it.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * list遍历 * 1.第一种方法:使用iterator遍历 * 2.第二种方法:使用iterator和for进行遍历 * 3.第三种方法:使用foreach进行遍历 * 4.第四种方法:使用for进行遍历 * @author Peter * */ public class ListTest { public static void main(String[] args) { List<String> list=new ArrayList<String>(); for(int i=0;i<6000000;i++) { list.add("list"+i); } //调用第一种方法 ListTest.listIterator(list); //调用第二种方法 ListTest.listIteratorFor(list); //调用第三种方法 ListTest.listForeach(list); //调用第四种方法 ListTest.listFor(list); } /** * 第一种方法 * @param list */ public static void listIterator(List<String> list) { // System.out.println("第一种方法:使用iterator遍历"); Iterator it=list.iterator(); long start=System.currentTimeMillis(); while(it.hasNext()) { String s=(String) it.next(); } long end=System.currentTimeMillis(); System.out.println("第一种方法iterator时间:"+(end-start)); } /** * 第二种方法 * @param list */ public static void listIteratorFor(List<String> list) { // System.out.println("第二种方法:使用iterator和for进行遍历"); long start=System.currentTimeMillis(); for(Iterator it=list.iterator();it.hasNext();) { String s=(String) it.next(); } long end=System.currentTimeMillis(); System.out.println("第二种方法iterator+for时间:"+(end-start)); } /** * 第三种方法 * @param list */ public static void listForeach(List<String> list) { // System.out.println("第三种方法:使用foreach进行遍历"); long start=System.currentTimeMillis(); for(String s:list) { String string=s; } long end=System.currentTimeMillis(); System.out.println("第三种方法foreach时间:"+(end-start)); } /** * 第四种方法 * @param list */ public static void listFor(List<String> list) { // System.out.println("第四种方法:使用for进行遍历"); long start=System.currentTimeMillis(); for(int i=0;i<list.size();i++) { String s=list.get(i); } long end=System.currentTimeMillis(); System.out.println("第四种方法for时间:"+(end-start)); } }
标签:
原文地址:http://www.cnblogs.com/avaj/p/5801404.html