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