JAVA foreach和for循环


foreach:为数组或对象中的每个元素重复一个嵌入语句组(简单点说就是遍历数组或对象,然后将遍历的数组或对象中的值添加到新的数组或对象中);

举例代码:

package com.spsoft.vatmgr.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.internal.matchers.Each;

import com.ibm.db2.jcc.a.a;

public class Test {
public static void main(String[] args) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("a", "1");
map.put("b", "2");
map.put("c", "3");
map.put("d", "4");
map.put("e", "5");
list.add(map);
for (Map<String, String> aMap : list) {
System.out.println(aMap);
}

}
}

输出结果为:{d=4, e=5, b=2, c=3, a=1}

for循环遍历集合时使用下标来定位集合中的元素

代码举例:

package com.spsoft.vatmgr.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.internal.matchers.Each;

import com.ibm.db2.jcc.a.a;

public class Test {
public static void main(String[] args) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("a", "1");
map.put("b", "2");
map.put("c", "3");
map.put("d", "4");
map.put("e", "5");
list.add(map);
for (int i = 0; i < list.size(); i++) {
Map<String, String> forMap=list.get(i);
System.out.println(forMap);
}

}
}

输出结果:{d=4, e=5, b=2, c=3, a=1}

二者的区别:

1.foreach遍历集合时,集合实现Iterator接口,foreach是使用Iterator接口来实现对集合的遍历的

2.在用foreach循环遍历一个集合时不能向集合中增加元素,不能从集合中删除元素

3.当使用foreach循环基本类型时变量时不能修改集合中的元素的值,遍历对象时可以修改对象的属性的值,但是不能修改对象的引用


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM