java中遍历map的方式

下文主要介绍java中利用JDK1.5的新特性For-Each循环,来遍历Map集合以解决一些问题。

map集合:就是采用了 Key-value键值对映射的方式进行存储 key在Map里面是唯一的但是value可以重复,一个key对应一个value。key是无序、唯一的,而value是无序不唯一的

一,利用keySet集合

根据Map集合的特性我们可以知道:map中key是唯一的。因此我们可以利用map中的keySet进行遍历。详细代码如下:

    public static void main(String[] args) {
    
    
        Map<Integer, String> map = new HashMap<>();
        map.put(1,"one");
        map.put(2,"two");
        map.put(3,"three");

        //方式一:利用keySet()
        Set<Integer> set = map.keySet();
        for (Integer key:map.keySet()
             ) {
    
    
            System.out.println(map.get(key));
        }
    }

根据代码,可以看出map.keySet();返回的是由map集合中的key构成的Set集合。

二,利用values进行遍历

这种方式可以在不使用key值的情况下来遍历value值。具体代码如下:

    public static void main(String[] args) {
    
    
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1,"one");
        map.put(2,"two");
        map.put(3,"three");

        //方式二:
        for (String value:map.values()
             ) {
    
    
            System.out.println(value);
        }
    }

三,通利用Map.entrySet遍历key和value(最常用最重要的方法)

利用Map接口自带的内部接口 Entry<K , V> 进行过度方式的遍历。 Map.entrySet方法获得所有键值对对象的集合。具体代码如下:

方法名称 说明
Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合
K getKey() 获得键
V getValue() 获得值
    public static void main(String[] args) {
    
    
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1,"one");
        map.put(2,"two");
        map.put(3,"three");
        //方式三:
        for (Map.Entry<Integer,String> ma:map.entrySet()
             ) {
    
    
            System.out.println(ma.getKey()+"===="+ma.getValue());
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_44085437/article/details/125833164