遍历一个map

来源:互联网 发布:淘宝ifashion代表什么 编辑:程序博客网 时间:2024/06/05 06:46
//循环遍历map的方法public class CircleMap { public static void main(String[] args) {  Map<String, Integer> tempMap = new HashMap<String, Integer>();  tempMap.put("a", 1);  tempMap.put("b", 2);  tempMap.put("c", 3);  // JDK1.4中  // 遍历方法一 hashmap entrySet() 遍历  System.out.println("方法一");  Iterator it = tempMap.entrySet().iterator();  while (it.hasNext()) {   Map.Entry entry = (Map.Entry) it.next();   Object key = entry.getKey();   Object value = entry.getValue();   System.out.println("key=" + key + " value=" + value);  }  System.out.println("");  // JDK1.5中,应用新特性For-Each循环  // 遍历方法二  System.out.println("方法二");  for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {   String key = entry.getKey().toString();   String value = entry.getValue().toString();   System.out.println("key=" + key + " value=" + value);  }  System.out.println("");  // 遍历方法三 hashmap keySet() 遍历  System.out.println("方法三");  for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {   Object obj = i.next();   System.out.println(obj);// 循环输出key   System.out.println("key=" + obj + " value=" + tempMap.get(obj));  }  for (Iterator i = tempMap.values().iterator(); i.hasNext();) {   Object obj = i.next();   System.out.println(obj);// 循环输出value  }  System.out.println("");  // 遍历方法四 treemap keySet()遍历  System.out.println("方法四");  for (Object o : tempMap.keySet()) {   System.out.println("key=" + o + " value=" + tempMap.get(o));  }  System.out.println("11111");  // java如何遍历Map <String, ArrayList> map = new HashMap <String,  // ArrayList>();  System.out    .println("java  遍历Map <String, ArrayList> map = new HashMap <String, ArrayList>();");  Map<String, ArrayList> map = new HashMap<String, ArrayList>();  Set<String> keys = map.keySet();  Iterator<String> iterator = keys.iterator();  while (iterator.hasNext()) {   String key = iterator.next();   ArrayList arrayList = map.get(key);   for (Object o : arrayList) {    System.out.println(o + "遍历过程");   }  }  System.out.println("2222");  Map<String, List> mapList = new HashMap<String, List>();  for (Map.Entry entry : mapList.entrySet()) {   String key = entry.getKey().toString();   List<String> values = (List) entry.getValue();   for (String value : values) {    System.out.println(key + " --> " + value);   }  } }}
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, "奇数");   //ConcurrentModificationException                //map.remove(key);      //ConcurrentModificationException                it.remove();        //OK             }        }        //遍历当前的map;这种新的for循环无法修改map内容,因为不通过迭代器。        System.out.println("-------\n\t最终的map的元素遍历:");        for(Map.Entry<Integer, String> entry:map.entrySet()){            int k=entry.getKey();            String v=entry.getValue();            System.out.println(k+" = "+v);        }    }}



0 0
原创粉丝点击