Java中关于Map四种取值方式
作者:于歌852 时间:2022-04-22 09:24:09
Java关于Map的四种取值方式
map的主要作用是什么?
可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。
Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如HashMap 类。
Map的取值方式主要有4种:
1.keySet二次取值;
2.entrySet使用iterator遍历key和value
3.entrySet遍历key和value
4.通过Map.values()遍历所有的value,但不能遍历key
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
// 第一种方法:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= " + key + " and value= " + map.get(key));
}
// 第二种方法:
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= "
+ entry.getValue());
}
// 第三种方法:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= "
+ entry.getValue());
}
// 第四种方法:
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
Java中Map取值转String Null值处理
Map<String, Object> 直接取值转String
String value = (String)map.get("key")
当map.get(“key”)为Null值时会报错。
使用String类的valueOf静态方法可以解决这个问题
String value = String.valueOf(map.get("key"))
来源:https://blog.csdn.net/weixin_56287335/article/details/124670957
标签:Java,Map,取值
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Go Java算法之K个重复字符最长子串详解
2022-02-10 17:53:29
带你了解Java数据结构和算法之队列
2022-07-03 12:45:34
![](https://img.aspxhome.com/file/2023/8/79968_0s.png)
Java正则之贪婪匹配、惰性匹配
2022-08-14 16:41:23
C#记一次http协议multipart/form-data的boundary问题
2021-07-01 17:45:49
![](https://img.aspxhome.com/file/2023/3/86993_0s.png)
关于mybatis resulttype 返回值异常的问题
2021-08-09 20:26:19
Android使用httpPost向服务器发送请求的方法
2021-12-08 19:37:07
浅述int与string类型转换的两种方法
2023-09-09 08:56:28
详解Java设计模式编程中的中介者模式
2021-09-24 02:48:54
![](https://img.aspxhome.com/file/2023/9/78959_0s.jpg)
Spring Security 控制授权的方法
2023-08-06 19:21:08
![](https://img.aspxhome.com/file/2023/4/58024_0s.png)
详解java 中Spring jsonp 跨域请求的实例
2023-11-19 02:48:18
![](https://img.aspxhome.com/file/2023/7/59667_0s.png)
SpringBoot中@ConfigurationProperties 配置绑定
2023-04-07 04:02:57
JPype实现在python中调用JAVA的实例
2022-08-24 03:19:52
Java结构性设计模式中的装饰器模式介绍使用
2022-04-08 06:30:00
Java中的Object类详细介绍
2023-11-23 23:18:46
Java利用位运算实现乘法运算详解
2023-03-19 20:29:24
![](https://img.aspxhome.com/file/2023/4/70294_0s.png)
MyBatis执行Sql的流程实例解析
2022-06-12 19:43:42
Java内存溢出案例模拟和原理分析过程
2023-04-09 07:27:48
![](https://img.aspxhome.com/file/2023/3/125573_0s.png)
Android开发性能优化总结
2021-11-05 14:03:59
C#实现自定义动画鼠标的示例详解
2021-07-31 17:16:59
![](https://img.aspxhome.com/file/2023/4/106424_0s.png)
Java泛型中<?>和<T>的区别浅析
2023-11-25 05:20:09