java之同时获取到key和value的方法entrySet

时间:2022-12-21 19:18:50
HashMap<Integer, String> hashMap = new HashMap();
        hashMap.put(2,"aa");
        hashMap.put(5,"bb");
        // 这里的Entry是Map内部类,所以写成Map.Entry相当于就是散列表中的链表中的Node
        Set<Entry<Integer, String>> entrys = hashMap.entrySet(); // 获取集合中全部的entry对象
        Iterator<Entry<Integer, String>> it = entrys.iterator();
        while (it.hasNext()) {
            Entry<Integer, String> entry = it.next(); // entry里面包含了key和value
            Integer key = entry.getKey(); // 获取到Key
            String value = entry.getValue(); // 获取到值
            /** 输出结果是:
                2--aa
                5--bb
             */
            System.out.println(key + "--" + value);
        }

  其中hashMap.entrySet()方法的源代码如下:

 public Set<Map.Entry<K,V>> entrySet() {
        Set<Map.Entry<K,V>> es;
        return (es = entrySet) == null ? (entrySet = new EntrySet()) : es;
    }