HashTable和HashMap的遍历

HashTable和HashMap的遍历方法对比

HashTable

HashMap

keySet() keySet()
entrySet() entrySet()
value() elements()
iterator iterator
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;

public class Test {

    public static void main(String[] args) {

        int[] arr = {0,1,2,3,4,5};
        HashMap<Integer, Integer> map = new HashMap<>();
        Hashtable<Integer, Integer> table = new Hashtable<>();

        // 添加元素
        for(int i = 0; i < 10; i++) {
            map.put(arr[i], arr[i]);
            table.put(arr[i], arr[i]);
        }

        //HashMap遍历
        

        // 1.使用keySet()
        for(Integer key : map.keySet()) {
            System.out.println(key + " : " + map.get(key));
        }

        // 2.使用entrySet()
        for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }

        // 3.使用value(),但不能得到key
        for(Integer i : map.values()) {
            System.out.println(i);
        }

        // 4.使用Iterator
        Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();
        while(it.hasNext()) {
            Map.Entry<Integer, Integer> entry = it.next();
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }


        //Hashtable遍历

        // 1.使用keySet()
        for(Integer key : table.keySet()) {
            System.out.println(key + " : " + table.get(key));
        }


        // 2.使用keys() + Enumeration
        Enumeration<Integer> en1 = table.keys();
        while(en1.hasMoreElements()) {
            int key = en1.nextElement();
            System.out.println(key + " : " + table.get(key));
        }

        // 3.使用entrySet() + iterator
        Iterator<Map.Entry<Integer, Integer>> it1 = table.entrySet().iterator();
        while(it1.hasNext()) {
            Map.Entry<Integer, Integer> entry = it1.next();
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }

        // 4.使用elements()
        Enumeration<Integer> en2 = table.elements();
        while(en2.hasMoreElements()) {
            System.out.println(en2.nextElement());
        }


    }
}

猜你喜欢

转载自blog.csdn.net/roc_wl/article/details/82957694