java对集合遍历的四种方式

简介: java遍历集合的四种方式:普通for循环迭代器加强for循环(foreach)list.forEach

目录

@[TOC]

1.背景

目前大四学生,找了一个实习工作。

在学习工作当中遇到有些问题就记录下来吧。

这篇文章记录了一下对集合遍历操作的基本方式。

2.添加集合

List list<String> = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("张六");

3.遍历集合

3.1 普通循环遍历

一开始学java的时候学习的java循环
在这里插入图片描述

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

3.2 迭代器遍历

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEu07xE7-1665896440457)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221016124522411.png)]

Iterator<String> itr = list.iterator();

        while (itr.hasNext()) {
            String name = itr.next();
            System.out.println(name);
        }

3.3 增强for遍历(foreach)

在这里插入图片描述

for (String s : list){
            System.out.println(s);
        }

需要注意的是,在添加的集合中添加了一个泛型String,所以这个地方是String s 。

如果集合中是一个实体类,那么就用实体类去遍历:灵活使用

3.4 list.forEach

在这里插入图片描述

list.forEach(name ->{
    System.out.println(name);
});

这种方法是Java 8 特有的方式封装在集合的方法。
以上都可以遍历出结果:
在这里插入图片描述

4.总结

前三种方式是外部迭代:我们编写如何控制集合的迭代。

第四种是内部迭代:我们编写每次迭代需要做的事情。

目前了解最常用的是增强for循环list.forEach

加油学习,此篇当做笔记以后加强记忆。

相关文章
|
3天前
|
存储 安全 算法
【常见集合】Java 常见集合重点解析
【常见集合】Java 常见集合重点解析
8 0
|
3天前
|
Java
Tree Traversals Again(Java语言)(先序和中序创建二叉树)(遍历树)
Tree Traversals Again(Java语言)(先序和中序创建二叉树)(遍历树)
12 4
|
3天前
|
算法 Java
【Java高阶数据结构】图-图的表示与遍历(下)
【Java高阶数据结构】图-图的表示与遍历
13 1
|
1天前
|
存储 Java 容器
Java一分钟之-高级集合框架:LinkedList与TreeSet
【5月更文挑战第17天】这篇博客对比了Java集合框架中的LinkedList和TreeSet。LinkedList是双向链表,适合中间插入删除,但遍历效率低且占用空间大;TreeSet基于红黑树,保证元素有序且不重复,插入删除速度较LinkedList慢但查找快。选择时需根据操作需求和性能考虑。
10 2
|
2天前
|
存储 算法 Java
Java 集合框架
5月更文挑战第10天
|
3天前
|
机器学习/深度学习 存储 Java
【Java高阶数据结构】图-图的表示与遍历(上)
【Java高阶数据结构】图-图的表示与遍历
10 2
|
3天前
|
Java 数据库
JAVA8遍历tree
JAVA8遍历tree
|
3天前
|
存储 安全 Java
Java一分钟之-集合框架进阶:Set接口与HashSet
【5月更文挑战第10天】本文介绍了Java集合框架中的`Set`接口和`HashSet`类。`Set`接口继承自`Collection`,特征是不允许重复元素,顺序不确定。`HashSet`是`Set`的实现,基于哈希表,提供快速添加、删除和查找操作,但无序且非线程安全。文章讨论了`HashSet`的特性、常见问题(如元素比较规则、非唯一性和线程安全性)以及如何避免这些问题,并提供了代码示例展示基本操作和自定义对象的使用。理解这些概念和注意事项能提升代码效率和可维护性。
12 0