【Java】三种不同方式遍历集合

使用三种不同循环遍历List<Student>

请使用多种不同的方式遍历 学生对象集合

  1. 传统 for 循环
  2. 迭代器Iterator
  3. 增强for循环 底层基于迭代器Iterator

示例代码:

Student.java

java 复制代码
package com.collection.Demo04;

public class Student {
    private String name;
    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Student(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}

Test07.java

java 复制代码
package com.collection.Demo04;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 传统 for 循环
 * 迭代器Iterator
 * 增强for循环 底层基于迭代器Iterator
 */
public class Test07 {
    public static void main(String[] args) {
        List<Student> students = new ArrayList<Student>();
        students.add(new Student("name1", 32));
        students.add(new Student("name2", 21));
        students.add(new Student("name3", 23));
        //方式1------传统 for循环 遍历集合
        for (int i = 0; i < students.size(); i++) {
            Student student = students.get(i);
            System.out.println(student.getName() + "," + student.getAge());
        }
        //方式2------ 迭代器遍历集合
        Iterator<Student> iterator = students.iterator();
        while (iterator.hasNext()) {
            Student student = iterator.next();
            System.out.println(student.getName() + "," + student.getAge());
        }
        //方式3------ 增强for循环 for each
        for (Student student : students) {
            System.out.println(student.getName() + "," + student.getAge());
        }
    }
}

下一篇文章:

相关推荐
心平气和量大福大10 分钟前
C#-WPF-UserControl-生命周期(加载 退出)
开发语言·c#·wpf
小龙报15 分钟前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
sunywz23 分钟前
【c#】 Web Deploy一键发布,IIS部署全流程
开发语言·前端·c#
自强的小白36 分钟前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
Brilliantwxx44 分钟前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
雪的季节1 小时前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活1 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏1 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪1 小时前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质1 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端