遍歷hashmap的6種方法


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));
    }
}

6、使用 Stream API 遍歷 HashMap

package com.java.tutorials.iterations;  

import java.util.HashMap;  
import java.util.Map;  

/**  
 * 在 Java 中遍歷 HashMap 的5種最佳方法  
 * @author Ramesh Fadatare  
 *  
 */  
public class IterateHashMapExample {  
    public static void main(String[] args) {  
        Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        coursesMap.put(1, "C");  
        coursesMap.put(2, "C++");  
        coursesMap.put(3, "Java");  
        coursesMap.put(4, "Spring Framework");  
        coursesMap.put(5, "Hibernate ORM framework");  

        // 5. 使用 Stream API 遍歷 HashMap  
        coursesMap.entrySet().stream().forEach((entry) - > {  
            System.out.println(entry.getKey());  
            System.out.println(entry.getValue());  
        });  
    }  
}
 
         
         
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM