Java Map基本操作及遍历

目录

Map基本操作

新建

无序添加

获取指定key的value

删除指定key的元素

返回数组长度

修改指定键的值

返回包含所有key值的hashSet数组

判断字典是否为空

判断字典是否包含指定key,返回true/false

Map遍历

Iterator+entrySet写法

Iterator+keyset写法

foreach遍历方式

lambda表达式遍历

stream流遍历Map

参考资料


Map基本操作

新建

Map<Integer,String> map = new HashMap<>();
Map<String,Integer> map = new HashMap<>();

无序添加

        key重复则覆盖掉

dict.put(key,value);

获取指定key的value

dict.get(key);

删除指定key的元素

dict.remove(key);

返回数组长度

dict.size();

修改指定键的值

dict.replace(key,value);

返回包含所有key值的hashSet数组

dict.keySet();

判断字典是否为空

dict.isEmpty();

判断字典是否包含指定key,返回true/false

dict.containsKey();

Map遍历

Iterator+entrySet写法

【推荐JDK8以下】,Map.Entry是Map接口的内部接口,获取迭代器,然后依次取出每个迭代器里面的Map.Entry

Iterator<Map.Entry<Integer,String>> iterator=map.entrySet().iterator();
while(iterator.hasNext()){
    Map.Entry<Integer,String> entry=iterator1.next();
    System.out.println(entry.getKey());
    System.out.println(entry.getValue());
}

        hasNext()+next()是顺序遍历,可以使用hasPrevious()+previous()实现逆序遍历

Iterator+keyset写法

【不推荐,只能获取key,然后通过key获取对应的value,重复计算】

Iterator<Integer> iterator=map.keySet().iterator();
while (iterator.hasNext()){
    Integer key=iterator.next();
    System.out.println(key);
    System.out.println(map.get(key));
}

foreach遍历方式

【JDK8以下推荐写法】

for(Map.Entry<Integer,String> entry:map.entrySet()){
    System.out.println(entry.getKey());
    System.out.println(entry.getValue());
};

lambda表达式遍历

【JDK8推荐写法,简捷】

map.forEach((key,value)->{
    System.out.println(key);
    System.out.println(value);
});

stream流遍历Map

【JDK8不推荐写法,重复计算】

map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> {
    System.out.println(entry.getKey());
    System.out.println(entry.getValue());
});

参考资料

 Java遍历Map五种方法_大道之简的博客-CSDN博客_java 遍历map

猜你喜欢

转载自blog.csdn.net/Nichlson/article/details/127994252
今日推荐