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

下一篇文章:

相关推荐
你怎么知道我是队长1 小时前
C语言---枚举变量
c语言·开发语言
李慕婉学姐1 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫2 小时前
quecpython中&的具体含义和使用场景
开发语言·python
云栖梦泽2 小时前
易语言中小微企业Windows桌面端IoT监控与控制
开发语言
数据大魔方2 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
奋进的芋圆3 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin3 小时前
设计模式之桥接模式
java·设计模式·桥接模式
Edward.W3 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer3 小时前
Python字符串
开发语言·数据库·python
model20053 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端