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

下一篇文章:

相关推荐
卡戎-caryon17 分钟前
【C++】15.并发支持库
java·linux·开发语言·c++·多线程
90后小陈老师22 分钟前
WebXR教学 09 项目7 使用python从0搭建一个简易个人博客
开发语言·python·web
tyatyatya26 分钟前
MATLAB 神经网络的系统案例介绍
开发语言·神经网络·matlab
hweiyu0037 分钟前
C#学习教程(附电子书资料)
开发语言·学习·c#
q5673152338 分钟前
图片爬虫通过模板及使用说明
开发语言·爬虫·tcp/ip·golang
正在走向自律1 小时前
Conda 完全指南:从环境管理到工具集成
开发语言·python·conda·numpy·fastapi·pip·开发工具
啊吧怪不啊吧1 小时前
C/C++之内存管理
开发语言·汇编·c++
北极象1 小时前
Go语言处理HTTP下载中EOFFailed
开发语言·http·golang
头发那是一根不剩了1 小时前
怎么用idea分析hprof文件定位JVM内存问题
java·jvm
让代码飞~1 小时前
maven项目, idea右上角一直显示gradle的同步标识, 如何去掉
java·maven·intellij-idea