目录
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());
});
参考资料
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100770.html