HashMap和Hashtable的遍历

来源:互联网 发布:wifi信号与网络延时 编辑:程序博客网 时间:2024/06/08 11:56

HashMap和Hashtable的遍历

HashMap Hashtable keySet() keySet() entrySet() entrySet() value() elements() iterator iterator



此外,Hashtable还可以使用keys() 和Enumeration进行遍历,闲言少叙,直接上代码

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,6,7,8,9};        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遍历------------------------        System.out.println("-----------------HashMap遍历------------------------");        // 1.使用keySet()        System.out.println("1.使用keySet()");        for(Integer key : map.keySet()) {            System.out.println(key + " : " + map.get(key));        }        // 2.使用entrySet()        System.out.println("2.使用entrySet()");        for(Map.Entry<Integer, Integer> entry : map.entrySet()) {            System.out.println(entry.getKey() + " : " + entry.getValue());        }        // 3.使用value(),但不能得到key        System.out.println("3.使用value(),但不能得到key");        for(Integer i : map.values()) {            System.out.println(i);        }        // 4.使用Iterator        System.out.println("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遍历------------------------        System.out.println("-----------------Hashtable遍历------------------------");        // 1.使用keySet()        System.out.println("1.使用keySet()");        for(Integer key : table.keySet()) {            System.out.println(key + " : " + table.get(key));        }        // 2.使用keys() + Enumeration        System.out.println("2.使用keys()");        Enumeration<Integer> en1 = table.keys();        while(en1.hasMoreElements()) {            int key = en1.nextElement();            System.out.println(key + " : " + table.get(key));        }        // 3.使用entrySet() + iterator        System.out.println("3.使用entrySet()");        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()        System.out.println("4.使用elements(),相当于遍历value");        Enumeration<Integer> en2 = table.elements();        while(en2.hasMoreElements()) {            System.out.println(en2.nextElement());        }    }}

注:HashMap和Hashtable的存储和遍历都是无序的

这里写图片描述

原创粉丝点击