[java]遍历集合的四种方式

一.遍历集合的四种方式

1.以ArrayList为例展示一下遍历集合的四种方式,先初始化一个ArrayList

List<Integer> list = new ArrayList<>();
    
for (int i = 0; i < 10; i++) {        
  list.add(i);    
}

2.遍历集合方式一:使用普通for循环:

for (int i = 0; i < list.size(); i++) {        
  System.out.println(list.get(i));    
}

3.遍历集合方式二:增强for循环,底层就是迭代器:

for (Integer i:list){        
  System.out.println(i);    
}

4.遍历集合方式三:迭代器

Iterator<Integer> iterator = list.iterator();
    
while(iterator.hasNext()){        
  Integer i = iterator.next();      
  System.out.println(i);    
}

5.遍历集合方式四:使用Iterable接口中jdk1.8新增的default方法forEach+lambda表达式

list.forEach((i) -> {System.out.println(i); });//普通lambda
    
list.forEach(i -> System.out.println(i));//只有一行语句时可以简写的形式
    
list.forEach(System.out :: println);//方法引用

二.四种迭代方式对比

(1)普通for循环
    此种方式在遍历ArrayList时效率会高一些,因为ArrayList底层使用的是数组实现的,所以可以认为ArrayList中的元素都是有下标的,而此种普通for循环中的变量i可以快速的定位到ArrayList中的元素。

(2)增强for循环和迭代器
    可以认为增强for循环是迭代器的一种简便的写法,而迭代器比较适合遍历LinkedList,因为它底层使用的是链表的数据结构。

(3)使用forEach方法+lambda表达式
    如果使用的是jdk8以上的版本,那么建议使用此种方式,该方式内部默认的使用增强for循环去遍历集合,不过在ArrayList类中重写了forEach方法,里面使用了普通的for循环去遍历。不管使用哪一种,这种方式底层会选择最优的遍历方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List、Set等抽象数据类型,每个抽象数据类型的...
    一天一夜00阅读 3,887评论 0 2
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 5,960评论 0 13
  • 今日任务 1、集合框架继承体系(理解)2、Collection接口介绍(掌握常用Collection方法)3、迭代...
    Villain丶Cc阅读 4,436评论 0 12
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 4,138评论 0 2
  • java基础 集合承继包含图 Collection vs Collections 首先,"Collection" ...
    onlyHalfSoul阅读 5,151评论 0 5