【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());
        }
    }
}

下一篇文章:

相关推荐
Edward1111111120 分钟前
一AI名词
java·开发语言·数据库·学习
栈溢出了33 分钟前
Redis repl_backlog 学习笔记
java·开发语言·redis·学习
urkay-41 分钟前
Kotlin Flow分类
android·开发语言·kotlin
并不喜欢吃鱼1 小时前
从零开始 C++----- 十五.一文吃透 C++ 异常:try-catch、栈展开、自定义异常、异常安全 noexcept 底层全剖析
java·开发语言·jvm
gr95ZS6E61 小时前
基础入门java安全(一)--CC1基础分析
开发语言·python
智码看视界1 小时前
Day19 Spring Boot启动优化:启动时间从8秒降到2秒
java·spring boot·后端·启动优化
北京阿法龙科技有限公司1 小时前
AR智能眼镜安防应用核心指标:识别距离筑牢防线
java·开发语言·ar
杜子不疼.1 小时前
【C++】继承—C++的秘密武器,get父类的智慧
开发语言·c++
殘殤血2 小时前
Tomcat的事件监听机制:观察者模式 _
java·观察者模式·tomcat
汤姆yu2 小时前
面向具身智能的物理视频模拟器:蚂蚁灵波LingBot-Video开源模型全解析
java·大数据·人工智能·gpt·开源·大模型·音视频