遍历List的三种方法
来源:互联网 发布:安阳日报社 网络投稿 编辑:程序博客网 时间:2024/06/04 18:49
遍历一个List有哪些不同的方式?
如下代码,分别为三种方法
如下代码,分别为三种方法
package com.suwu.listtest;import java.util.List;import java.util.ArrayList;import java.util.Iterator;public class ListTest{ public static void main(String[] args ) { List<Integer> list=new ArrayList<Integer>(); list.add(new Integer(100)); list.add(new Integer(200)); list.add(new Integer(54)); list.add(new Integer(10242)); //遍历方式1---while(it.hasNext()) System.out.println("遍历方式1--while(it.hasNext())"); Iterator<Integer> it=list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //遍历方式2--get(i) System.out.println("遍历方式2--get(i)"); for(int i=0;i<list.size();i++) { System.out.println(list.get(i)); } //遍历方式3--Object o System.out.println("遍历方式3--Object o"); for(Object o:list) { System.out.println(o); } }}
如下结果:
既然知道了遍历的方式,那么下面我们就进行效率的测试,如下代码:
package com.prog;import java.util.List;import java.util.ArrayList;import java.util.Iterator;public class ListTestEffic{public static void main(String[] args ){ List<Integer> list=new ArrayList<Integer>(); //添加数据 long storeStart1=System.currentTimeMillis(); for(int i=0;i<10000000;i++) { list.add(i); } long storeEnd1=System.currentTimeMillis(); long d= storeEnd1-storeStart1; System.out.println("添加数据的时间:"+d); //遍历方式1---while(it.hasNext()) System.out.println("遍历方式1--while(it.hasNext())"); long storeStart2=System.currentTimeMillis(); Iterator<Integer> it=list.iterator(); while(it.hasNext()) { if(it.next()==9999)System.out.println("选择结果是9999"); } long storeEnd2=System.currentTimeMillis(); System.out.println(storeEnd2-storeStart2); //遍历方式2--get(i) System.out.println("遍历方式2--get(i)"); long storeStart3=System.currentTimeMillis(); for(int i=0;i<list.size();i++) { if(list.get(i)==9999)System.out.println("选择结果是9999"); } long storeEnd3=System.currentTimeMillis(); System.out.println(storeEnd3-storeStart3); //遍历方式3--for(Integer i) System.out.println("遍历方式3--Object o"); long storeStart4=System.currentTimeMillis(); for(Integer i:list) { if(i==9999)System.out.println("选择结果是9999"); } long storeEnd4=System.currentTimeMillis(); System.out.println(storeEnd4-storeStart4);}}运行后我们能够看到如下结果:
运行结果1
运行结果2
由运行结果我们能够看到,for(Object o)方式,即增强for循环的效率最慢,其次为迭代器it.hasNext(),效率最高的为使用list.size()获取list的大小,然后使用get(i)的方式获取值
1 0
- 遍历list的三种方法
- JAVA LIST的三种遍历方法
- 遍历List的三种方法
- 遍历list的三种方法
- 遍历List集合的三种方法
- java遍历List的三种方法
- list 三种的遍历方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- Java 遍历List的三种方法
- list的三种遍历方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- 遍历List集合的三种方法
- csuoj1812: 三角形和矩形
- C++多态需求的引入
- Java语言基础二
- Windows安装Composer
- 大数据处理算法--Bloom Filter
- 遍历List的三种方法
- 宣传6个9的可靠性就真的可靠吗
- linux NAND驱动之二:NAND存储原理
- CodeForces-483D Interesting Array(线段树)
- 网页抓取
- Lambda表达式入门
- hdu4111Alice and Bob+SG博弈
- Faster-RCNN+VGG用自己的数据集训练模型
- linux NAND驱动之三:6410平台上的NAND驱动加载