Java中关于Map四种取值方式

目录
  • Java关于Map的四种取值方式
    • map的主要作用是什么?
  • Java中Map取值转String Null值处理
  • 总结

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"))

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java高级之HashMap中的entrySet()方法使用

    目录 基本使用 原理剖析 总结 基本使用 entrySet()方法得到HashMap中各个键值对映射关系的集合. 然后Map.Entry中包含了getKey()和getValue()方法获取键和值. 示例: public class Demo { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("abc", "123&

  • Java之HashMap.values()转List时的错误和正确演示

    目录 HashMap.values()转List时的错误和正确演示 错误原因 解决方法 Map的Value值转换为List集合 总结 HashMap.values()转List时的错误和正确演示 因为项目中需要获取到Map的值的集合,所以调用了HashMap.values()方法转成List,当时是使用了以下代码. (逻辑上这样想应该没问题,但生活总是会是不是给你一点小“”惊喜“”) List<AreaItemOpt> areaItemOpts = (List<AreaItemOpt&g

  • java中HashMap.values()转为ArrayList()问题

    目录 HashMap.values()转为ArrayList() map.values()转为List和ArrayList的复制 总结 HashMap.values()转为ArrayList() 由于HashMap.values()只能转为Collection集合所以需要转为ArrayList的话可以用一下代码 ArrayList<Integer> al = new ArrayList(hash.values()); map.values()转为List和ArrayList的复制 packag

  • java中Map和List初始化的N种方法总结

    目录 Map和List初始化方法 第一种方法(常用方法) 第二种方法(双括号初始化法) 第三种,stream初始化 初始化Map和List小技巧(指定容量+匿名内部类初始化) 总结 Map和List初始化方法 第一种方法(常用方法) //初始化List   List<string> list = new ArrayList<string><string>();   list.add("string1");   list.add("strin

  • Java中HashMap获取值的几种方式汇总

    目录 Java HashMap获取值的方式 Java HashMap基本用法 总结 Java HashMap获取值的方式 1.通过keySet()方法获取key的集合,因为在HashMap中key值不能重复,所以返回的是一个Set()类型. 2.通过entrySet()方法获取键值对的集合,再通过getKey()和getValue()方法获取key和value. 3.通过values()方法获取value集合,因为value可以重复,因此返回的类型为Collection. package com

  • Spring中@Scope的几种取值方式

    目录 @Scope的几种取值 Spring入门详解scope属性 一.scope属性 二.scope分类 三.scope取值 @Scope的几种取值 1.singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例 2.prototype:每次调用新建一个Bean的实例 3.Request:Web项目中,给每一个http request新建一个Bean实例 4.Session:Web项目中,给每一个http session新建一个Bean实例.

  • Java中常见的日期操作(取值、转换、加减、比较)

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提供了可行的解决方案,并不保证是最佳实践,欢迎讨论. 1. 日期取值 在旧版本 JDK 的时代,有不少代码中日期取值利用了 java.util.Date 类,但是由于 Date 类不便于实现国际化,其实从 JDK1.1 开始,就更推荐使用 java.util.Calendar 类进行时间和日期方面的处

  • C语言中四种取整方式,取余/取模运算以及负数取模问题详解

    目录 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 总结 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取整方式为零向取整,C语言默认采用的是这种方式 C语言中也有对应的零向取整函数: 同理还有一种函数是负无穷大取整: 它的取整方案是向负无穷大取整: 有地板取整,当然也有正无穷大取整的函数: 它的取整方式是向正无穷大取整: 最后,还有四舍五入取整的函数: 取模/取余 取模概念: 如果a和d是两个自然数,d非零,可以证明存在两个唯一的整

  • MyBatis中foreach标签的collection属性的取值方式

    目录 foreach标签的collection属性的取值 传的是List列表 传的是Array数组 传的是Map collection属性总结 MyBatis使用foreach标签报错 原因 解决方案 foreach标签的collection属性的取值 传的是List列表 接口代码 List<Emp> findEmpByDeptnos(List<Integer> deptnos); xml配置代码 <select id="findEmpByDeptnos"

  • Java遍历Map四种方式讲解

    Java中遍历Map的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历. 方法一:在for循环中使用entries实现Map的遍历: /** * 最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */ Map <String,String>map = new HashMap<String,String>(); map.put("

  • Java中遍历Map集合的5种方式总结

    方式一 通过Map.keySet使用iterator遍历 @Test public void testHashMap1() { Map<Integer, String> map = new HashMap<>(); map.put(001, "Java"); map.put(002, "数据库"); map.put(003, "Vue"); System.out.println(map); // 通过Map.keySet使

  • java arrayList遍历的四种方法及Java中ArrayList类的用法

    java arrayList遍历的四种方法及Java中ArrayList类的用法 package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo { public static void main(String args[]){ List<String> list = new ArrayList<String

  • java中实现map与对象相互转换的几种实现

    最近,研究map与java对象之间的相互转换,总结了5种方法: 第一种:使用org.apache.commons.beanutils转换 用到的主要jar包:commons-beanutils-1.9.3.jar //map转java对象 public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception { if (map == null) { return

  • java中常见的6种线程池示例详解

    之前我们介绍了线程池的四种拒绝策略,了解了线程池参数的含义,那么今天我们来聊聊Java 中常见的几种线程池,以及在jdk7 加入的 ForkJoin 新型线程池 首先我们列出Java 中的六种线程池如下 线程池名称 描述 FixedThreadPool 核心线程数与最大线程数相同 SingleThreadExecutor 一个线程的线程池 CachedThreadPool 核心线程为0,最大线程数为Integer. MAX_VALUE ScheduledThreadPool 指定核心线程数的定时

  • Java创建随机数的四种方式总结

    目录 c语言随机数 java 1.Random 2.SecureRandom 3.ThreadLocalRandom 4.Math.Random 完整代码 第一次接触到随机数还是在c语言里面 使用的是 rand(); 但是重新执行一次的时候会发现,诶,居然和上一次执行的结果是一样的,因为没有初始化种子,所以系统用的都是统一的种子这时就会出现每次产生的随机数都一样,这时就会使用到 srand();这个随机数的发生器, 把种子给定当前的时间 即 srand((unsigned) time (&t))

随机推荐