05_04_hashmap遍历的方法

1、 通过ForEach循环进行遍历

mport java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
public class Test {
    public static void main(String[] args) throws IOException {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 10);
        map.put(2, 20);
 
        // Iterating entries using a For Each loop
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
        }
 
    }
}

2、 ForEach迭代键值对方式

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
public class Test {
    public static void main(String[] args) throws IOException {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 10);
        map.put(2, 20);
 
        // 迭代键
        for (Integer key : map.keySet()) {
            System.out.println("Key = " + key);
        }
 
        // 迭代值
        for (Integer value : map.values()) {
            System.out.println("Value = " + value);
        }
    }
}

3、使用带泛型的迭代器进行遍历

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
public class Test {
    public static void main(String[] args) throws IOException {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 10);
        map.put(2, 20);
 
        Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry<Integer, Integer> entry = entries.next();
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
        }
    }
}

4、使用不带泛型的迭代器进行遍历

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
public class Test {
 
    public static void main(String[] args) throws IOException {
 
        Map map = new HashMap();
        map.put(1, 10);
        map.put(2, 20);
 
        Iterator<Map.Entry> entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry entry = (Map.Entry) entries.next();
            Integer key = (Integer) entry.getKey();
            Integer value = (Integer) entry.getValue();
            System.out.println("Key = " + key + ", Value = " + value);
        }
    }
}

5、通过Java8 Lambda表达式遍历

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
public class Test {
 
    public static void main(String[] args) throws IOException {
 
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 10);
        map.put(2, 20);
        map.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
    }
}

1、 通过ForEach循环进行遍历

  1.  
    mport java.io.IOException;
  2.  
    import java.util.HashMap;
  3.  
    import java.util.Map;
  4.  
     
  5.  
    public class Test {
  6.  
    public static void main(String[] args) throws IOException {
  7.  
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
  8.  
    map.put(1, 10);
  9.  
    map.put(2, 20);
  10.  
     
  11.  
    // Iterating entries using a For Each loop
  12.  
    for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
  13.  
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
  14.  
    }
  15.  
     
  16.  
    }
  17.  
    }

2、 ForEach迭代键值对方式

如果你只想使用键或者值,推荐使用如下方式

  1.  
    import java.io.IOException;
  2.  
    import java.util.HashMap;
  3.  
    import java.util.Map;
  4.  
     
  5.  
    public class Test {
  6.  
    public static void main(String[] args) throws IOException {
  7.  
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
  8.  
    map.put(1, 10);
  9.  
    map.put(2, 20);
  10.  
     
  11.  
    // 迭代键
  12.  
    for (Integer key : map.keySet()) {
  13.  
    System.out.println("Key = " + key);
  14.  
    }
  15.  
     
  16.  
    // 迭代值
  17.  
    for (Integer value : map.values()) {
  18.  
    System.out.println("Value = " + value);
  19.  
    }
  20.  
    }
  21.  
    }

3、使用带泛型的迭代器进行遍历

  1.  
    import java.io.IOException;
  2.  
    import java.util.HashMap;
  3.  
    import java.util.Iterator;
  4.  
    import java.util.Map;
  5.  
     
  6.  
    public class Test {
  7.  
    public static void main(String[] args) throws IOException {
  8.  
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
  9.  
    map.put(1, 10);
  10.  
    map.put(2, 20);
  11.  
     
  12.  
    Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
  13.  
    while (entries.hasNext()) {
  14.  
    Map.Entry<Integer, Integer> entry = entries.next();
  15.  
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
  16.  
    }
  17.  
    }
  18.  
    }

4、使用不带泛型的迭代器进行遍历

  1.  
    import java.io.IOException;
  2.  
    import java.util.HashMap;
  3.  
    import java.util.Iterator;
  4.  
    import java.util.Map;
  5.  
     
  6.  
    public class Test {
  7.  
     
  8.  
    public static void main(String[] args) throws IOException {
  9.  
     
  10.  
    Map map = new HashMap();
  11.  
    map.put(1, 10);
  12.  
    map.put(2, 20);
  13.  
     
  14.  
    Iterator<Map.Entry> entries = map.entrySet().iterator();
  15.  
    while (entries.hasNext()) {
  16.  
    Map.Entry entry = (Map.Entry) entries.next();
  17.  
    Integer key = (Integer) entry.getKey();
  18.  
    Integer value = (Integer) entry.getValue();
  19.  
    System.out.println("Key = " + key + ", Value = " + value);
  20.  
    }
  21.  
    }
  22.  
    }

5、通过Java8 Lambda表达式遍历

  1.  
    import java.io.IOException;
  2.  
    import java.util.HashMap;
  3.  
    import java.util.Map;
  4.  
     
  5.  
    public class Test {
  6.  
     
  7.  
    public static void main(String[] args) throws IOException {
  8.  
     
  9.  
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
  10.  
    map.put(1, 10);
  11.  
    map.put(2, 20);
  12.  
    map.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
  13.  
    }
  14.  
    }

 

原文地址:https://www.cnblogs.com/xiaoming521/p/14612648.html