zoukankan      html  css  js  c++  java
  • java for循环增强(foreach)

    for循环增强,在此之前还不知道foreach有这样的功能,先鄙视一下自己,留给自己看:

    功能:

    ***若List用foreach : [  for(Student stu : list)  ]这种形式遍历

    ***若此时,stu.setName()时,相当于在改变list的集合中当前对象的name值。

    ***相当于原来的for循环中 [ list.get(i).setName(); ]语句的作用,废话不多说,上代码

    实体类Student(随便起一个就行)

    package com.core.foreach;
    
    public class Student {
        private int id ;
        private String name ;
        private int age;
        
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
        
    
    }

    测试类ListTest

    下方的方法reSetStuList()中两个for循环的结果都是一样的

    package com.core.foreach;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class ListTest {
    
        public static void main(String[] args) {
            List<Student> stuList = setStuList();
            List<Student> restuList =  reSetStuList(stuList);
            for(int i = 0 ; i < restuList.size() ; i ++){
                System.out.println(restuList.get(i).getName());
            }
            
        }
        
        public static List<Student> setStuList(){
            List<Student> stuList =new ArrayList<Student>();
            
            for(int i = 0 ; i < 10 ; i++){
                Student stu = new Student();
                stu.setAge(i);
                stu.setId(i);
                stu.setName("刘备");
                stuList.add(stu);
            }
            return stuList;
            
        }
        
        public  static List<Student> reSetStuList(List<Student> stuList){
    //        for(int i = 0 ; i < stuList.size() ; i++){
    //            stuList.get(i).setName("张飞");
    //        }
            for(Student stu : stuList){
                stu.setId(20);
                stu.setAge(20);
                stu.setName("张飞");
                
            }
            return stuList;
        }
    
    }

    结果均是打印10个"张飞"

    也可以在for循环这里打断点,每循环一次可以看看list的值是否被改变了

  • 相关阅读:
    python基础----装饰器
    python基础----函数的定义和调用、return语句、变量作用域、传参、函数嵌套、函数对象、闭包、递归函数
    python基础----文件处理
    python基础
    django时间的时区问题
    django-admin详细设置
    Django框架-模板系统
    Django框架--路由分配系统
    jQuery教程
    django博客项目11
  • 原文地址:https://www.cnblogs.com/xxyfhjl/p/3973547.html
Copyright © 2011-2022 走看看