文章目录

  • 快速理解多重嵌套结构
  • Map基础知识
  • List
  • 例子
    • 查询数据库

快速理解多重嵌套结构

对于多层嵌套的数据结构,需要层层分解。
List<Map<String, Object>>为例,首先可以看到两种结构,分别是List和Map。
可以观察到List在外层,用c语言做类比,可以看做是一个指针数组,指针数组,其实就是一个元素为指针的数组。
那么回到这个例子,List<Map<String, Object>>不就是元素为Map的List吗?即List集合中的对象是一个Map对象,而这个Map对象的键是String类型,值是Object类型。

Map基础知识

Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,map中键可以是任意类型的对象,键对象不允许重复,每个键都有一个对应的值。值对象可以重复,并且值对象还可以是 Map 类型的。

键-值对(key-value)就如同数组中的下标和值,通过通过键找值就如同下标找数组值。

Map本身是一个接口,要使用Map需要通过子类进行对象实例化。

如声明Map<String, List> map = null;

方法名称 说明
get(Object key) 返回 Map 集合中指定键对象所对应的值。
put(K key, V value) 向 Map 集合中添加键-值对,返回 key 以前对应的 value,如果没有, 则返回 null
remove(Object key) 从 Map 集合中删除 key 对应的键-值对,返回 key 对应的 value,如果没有,则返回null
entrySet() 返回 Map 集合中所有键-值对的 Set 集合,此 Set 集合中元素的数据类型为 Map.Entry
keySet() 返回 Map 集合中所有键对象的 Set 集合
HashMap map = new HashMap();map.put("1", "a"); map.put("2", "b");map.put("3", "c");map.put("4", "d");map.put("5", "e");

List

List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下 >标)来访问List中的元素,这类似于Java的数组。

void add(String item)  //依次往后添加添加元素
void add(String item, int index) //在指定位置处添加元素
void remove(int position) //删除第几个元素(索引从0开始)
void remove(String item) //删除相同的元素
void removeAll() //删除所有元素

例子

查询数据库

public List<Map<String,Object>>  userList(){String sqlSearchUserAll = "select * from t_user";List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sqlSearchUserAll);return list_maps;}
List<Map<String, Object>> listMaps = new ArrayList<Map<String, Object>>();Map<String, Object> map = new HashMap<String, Object>();
map1.put("1", "a");
map1.put("2", "b");
map1.put("3", "c");
listMaps.add(map);

List<Map<String, Object>>——多层嵌套的数据结构相关推荐

  1. List(Map(String, Object))转为Fastjson JSONArray

    原始的 List<Map<String, Object>> test_list_map 内容如下: [{path=hdfs://manager:9000/testDir/1.t ...

  2. 多层嵌套json转换为Map再转换为单层

    多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json.并且把json进行格式化.于是参照网上的网上的方法使用谷歌的gson利用递归的实现了多层jso ...

  3. 【List<Map<String, Object>>】记录一次树形遍历方法

    在我实习过程中,有一次碰到了一个遍历需求,大概是这样的: 我现在拿到了广州这个节点的id,然后我要把整棵树查出来,并且返回方式要和前端匹配,以父子嵌套方式返回,就是这样 然后这个问题折磨了我很久 在同 ...

  4. Map<String,Object> map=new HashMap<String,Object>详解

    Map是一个接口,即Interface Map<K,V>,其中K-key类型和V-value的类型 它的每个元素包含一个key对象和一个value对象,且在这两个对象之间存在一种映射的对应 ...

  5. type ‘_Map<String, dynamic>‘ is not a subtype of type ‘Map<String, Object>‘

    type '_Map<String, dynamic>' is not a subtype of type 'Map<String, Object>' 使用Map<Str ...

  6. Map<String,Object>接收参数,Long类型降级为Integer,报类型转换异常

    前言 今天看群里小伙伴问了一个非常有意思的问题: 使用 Map<String,Object> 对象接收前端传递的参数,在后端取参时,因为接口文档中明确该字段类型为 Long ,所以对接收的 ...

  7. 例解List<Map<String, Object>>存放的对象问题

    一.提出问题 代码一: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java ...

  8. Map<String,List<Map<String, Object>>>遍历

    package com.java.day08; import java.util.*; /**  * @Auther: iteration.1  * @Date: 10/4/2021 - 04 - 1 ...

  9. 关于List<Map<String, Object>>个人理解

    首先map<String,Object>是定义了一个Map集合变量,然后list<map<String,Object>>是定义了一个List的集合变量,是map的一 ...

最新文章

  1. ABAP数据库操作之操作语句Insert
  2. 如何消耗更少资源?Unity优化技巧(上)
  3. JAVA并发编程3_线程同步之synchronized关键字
  4. V8 JavaScript 引擎 6.6 发布,异步性能大幅提升
  5. 有关Spring中Resource的继承关系(代码解读)
  6. 软考数据库考试有题库吗_软考数据库系统工程师考试心得
  7. 硬件知识:打印机常见的故障及维护,值得收藏!
  8. 详解 Python qrcode 二维码模块
  9. 数字图像处理 --- 图像的傅里叶变换的频谱特征 二(方向性)
  10. Centos下数据写入MySQL数据库汉字是????
  11. 浮士德---法国:古诺
  12. 最详细UWB技术及特点介绍
  13. C++杂记(一)——常见知识总结
  14. 1181:整数奇偶排序
  15. 【C++】STL —— unordered_map/unordered_set的基本使用
  16. 计算机系统第五章答案,计算机系统概论第五章测验及答案.doc
  17. Notepad++ 替代品开源了,是真香 !!!
  18. php七牛云批量上传,七牛云——批量将本地图片上传到七牛云
  19. Smart Package Robot,高级安装记录器和 RPA 脚本系统
  20. 【算法千题案例】⚡️每日LeetCode打卡⚡️——61.下一个更大元素 I

热门文章

  1. hdu 4362(单调队列优化dp)
  2. 4.29python
  3. 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
  4. Delphi 7下使用VT实现树型列表结合控件
  5. PHP漏洞之session会话劫持
  6. 超强包管理器:Anaconda 安装
  7. Python学习笔记:访问数据库
  8. CUDA 中 FFT 的使用
  9. xhost display 详解
  10. GPU(CUDA)学习日记(九)------ CUDA存储器模型