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的值是否被改变了

时间: 2024-10-06 02:38:15

java for循环增强(foreach)的相关文章

JAVA中循环删除list中元素的方法总结

印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末.看总结.. JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环).iterator遍历. 1.for循环遍历list for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")

JAVA中循环删除list中元素的方法总结(跳格删除问题解决)(转)

印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末.看总结.. JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环).iterator遍历. 1.for循环遍历list for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")

Java for循环对集合的遍历

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 许多情况需要我们遍历出集合中的元素,并做相应的处理. 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 关于List与Set类型集合的遍历: [java] im

java的循环

我们举一个例子,编写一个小代码,来实现java代码1到100的求和? 1+2+3+……+100=? package com.student.exam; /***计算1到100的和*/public class Summation { public static void main(String[] args) { int sum = 0; //声明变量sum存放计算的和,赋初值为0 for(int i=1;i<=100;i++) sum +=i;//等价于语句sum=sum+score Syste

JAVA for循环

java for循环就是,对于某些操作,人为地控制循环次数.最简单的,比如打印数字. 举例: 遍历数组 1 2 3 4 int[] a = new int[]{1,2,3,4,5,6,7,8,9,10,11,12};      for(int iloop : a){      System.out.println(iloop); } 2.while结构循环为当型循环(when type loop),一般用于不知道循环次数的情况.维持循环的是一个条件表达式,条件成立执行循环体,条件不成立退出循环.

java三大循环----第一次小体会

java三大循环包括while...do while...for (1)语法区别: while循环 while(循环条件){ //循环操作(体) } do  while循环 do{ //循环操作(体) }while(循环条件); for循环 for(初始化;循环条件;迭代){ //循环操作(体) } (2)执行顺序: while循环:先判断后执行 do while循环:先执行后判断 for循环:先判断后执行 (3)适用情况: 循环次数确定的情况,通常选用for循环: 循环次数不确定的情况,通常选

[java基础]循环结构1

[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句文件名称:WhileTest.java 编写时间:2016/6/7 作 者:郑晨辉 编写说明:while do while 代码示例 */ public class WhileTest{ public static void main(String[] args){ //初始条件 int i = 0; //进入循环,while循环先判

[Java基础]循环结构3

[Java基础]循环结构3 break 与 continue 中断循环... 1 /** 2 文件路径:G:\JavaByHands\循环语句 3 文件名称:BreakTest.java 4 编写时间:2016/6/12 5 作 者:郑晨辉 6 编写说明:break 结束循环 7 break 是完全跳出循环~~也就是说,遇到break 循环终止~~ 8 */ 9 10 public class BreakTest{ 11 12 public static void main(String[] a

[java基础]循环结构2

[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 1 /** 2 文件路径:G:\JavaByHands\循环语句 3 文件名称:GameForFor.java 4 编写时间:2016/6/7 5 作 者:郑晨辉 6 编写说明:for循环示例 代码示例 7 编写一个99乘法表 8 */ 9 public class GameForFor { 10 public static void main(String[] args) { 11 //目标:输出99乘法表 12