javamap遍歷for
1. java中map集合怎麼遍歷
遍歷方法代碼如下:
importjava.util.HashMap;
importjava.util.Map;
publicclassApp01{
publicstaticvoidmain(String[]args){
Map<String,String>map1=newHashMap<String,String>();
map1.put("A","ABC");
map1.put("B","BCD");
map1.put("C","CDE");
//遍歷
for(Map.Entry<String,String>entry:map1.entrySet()){
System.out.println(entry.getKey()+"->"+entry.getValue());
}
}
}
2. java map 用for循環的問題
親,你要搞清楚。集合類的foreach只能用來遍歷,不能進行修改操作的。即不能修改、刪除、添加元素。
只能遍歷。如果進行了修改操作的話。會拋出java.util.異常
,表示你不同在遍歷的同時,又進行修改。
如果你非得,要做修改操作。請選擇正常的for循環。以List為例。
List<String>list=newArrayList();
for(inti=0;i<10;i++){
list.add(i+"");
}
System.out.println(list.size());//10
for(inti=0;i<list.size();i++){
if(list.get(i).equals("1")){
list.remove(list.get(i));
}
}
System.out.println(list.size());//9
3. java實現遍歷哈希映射表map的方法匯總
方法/步驟
1、JDK,開發必須的環境
2、IDE,還是推薦Eclipse,如果你的電腦夠快,可以安裝Idea,用過一次,太吃內存,就被拋棄了,但是很多同行都在推薦,聽說很好。
現在開始進入今天的正題,使用Java代碼遍歷Map集合的方法匯總。
1、創建一個Java類,命名為MapTest
2、創建一個Map集合,並定義類型和put值:
3、循環遍歷Map集合的第一種方法,代碼如下:
/**
* 第一種
* foreach循環進行遍歷
* 遍歷的是key值,然後通過get(key)或者值
* key和keyset
*/
private static void firstMethod(HashMap<Integer, String> map){
System.out.println("foreach循環進行遍歷");
for (Integer key : map.keySet()) {
System.out.println("key:"+key+"對應的值為:"+map.get(key));
}
}
4、通過Iterator遍歷Map集合的第二種方法獲取,代碼如下:
/**
* 第二種
* 通過Iterator遍歷獲取
* 和List的遍歷原理相同
*/
public static void secondMethod(HashMap<Integer, String> map){
System.out.println("通過Iterator遍歷獲取");
Iterator<Entry<Integer, String>> inte = map.entrySet().iterator();
while(inte.hasNext()){
Map.Entry<Integer, String> m = inte.next();
System.out.println("key:"+m.getKey()+"對應的值為:"+m.getValue());
}
}
5、通過map方法map.entrySet()遍歷獲取值的第三種方法,代碼如下:
/**
* 第三種,通過map方法map.entrySet()遍歷獲取值
*/
public static void thirdMethod(HashMap<Integer, String> map){
System.out.println("第三種方式:entry");
for (Entry<Integer, String> str : map.entrySet()) {
System.out.println("key:"+str.getKey()+"對應的值為:"+str.getValue());
}
}
6、通過for循環,map.values()循環遍歷獲取值的第四種方法,代碼如下:
這種方法是直接獲取值,不獲取key值:
/**
* 第四種,通過for循環,map.values()循環遍歷獲取值 直接獲取值
*/
public static void fourthMethod(HashMap<Integer, String> map) {
System.out.println("通過map.values()循環遍歷直接獲取值");
for (String string : map.values()) {
System.out.println("map的值為:" + string);
}
}
7
7、不管是遍歷Map還是List的,其本質都是獲取對應的值,程序員在開發中可以根據開發場景適當的選擇各種方法,但是理解其本質才是最主要的。
4. JAVA循環遍歷Map的幾種方法
第一種用for循環
Java代碼
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
第二種用迭代
Java代碼
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}
用keySet()迭代
Java代碼
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}
用entrySet()迭代
Java代碼
Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}
5. java如何遍歷map的所有的元素
package net.nie.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { private static Map<Integer, String> map=new HashMap<Integer,String>(); /** 1.HashMap 類映射不保證順序;某些映射可明確保證其順序: TreeMap 類 * 2.在遍歷Map過程中,不能用map.put(key,newVal),map.remove(key)來修改和刪除元素, * 會引發 並發修改異常,可以通過迭代器的remove(): * 從迭代器指向的 collection 中移除當前迭代元素 * 來達到刪除訪問中的元素的目的。 * */ public static void main(String[] args) { map.put(1,"one"); map.put(2,"two"); map.put(3,"three"); map.put(4,"four"); map.put(5,"five"); map.put(6,"six"); map.put(7,"seven"); map.put(8,"eight"); map.put(5,"five"); map.put(9,"nine"); map.put(10,"ten"); Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); while(it.hasNext()){ Map.Entry<Integer, String> entry=it.next(); int key=entry.getKey(); if(key%2==1){ System.out.println("delete this: "+key+" = "+key); //map.put(key, "奇數"); // //map.remove(key); // it.remove(); //OK } } //遍歷當前的map;這種新的for循環無法修改map內容,因為不通過迭代器。 System.out.println("-------nt最終的map的元素遍歷:"); for(Map.Entry<Integer, String> entry:map.entrySet()){ int k=entry.getKey(); String v=entry.getValue(); System.out.println(k+" = "+v); } } }
6. java遍歷map幾種簡單方法
代碼如下:
importjava.util.HashMap;
importjava.util.Map;
publicclassApp{
publicstaticvoidmain(String[]args){
Map<String,Object>map=newHashMap<>();
map.put("Name","Barry");
map.put("Gender","Male");
map.put("Age",25);
//第一種遍歷方式
for(Map.Entry<String,Object>entry:map.entrySet()){
System.out.println(entry.getKey()+"="+entry.getValue());
}
//第二種遍歷方式
map.forEach((key,value)->{
System.out.println(key+"="+value);
});
//通過遍歷key,然後再獲取value
for(Stringkey:map.keySet()){
System.out.println(key+"="+map.get(key));
}
//單獨遍歷values
for(Objectvalue:map.values()){
System.out.println(value);
}
}
}