软件编程
位置:首页>> 软件编程>> java编程>> Java中关于Map四种取值方式

Java中关于Map四种取值方式

作者:于歌852  发布时间:2022-04-22 09:24:09 

标签:Java,Map,取值

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(&ldquo;key&rdquo;)为Null值时会报错。

使用String类的valueOf静态方法可以解决这个问题

String value = String.valueOf(map.get("key"))

来源:https://blog.csdn.net/weixin_56287335/article/details/124670957

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com