List<Map<String, Object>>——多层嵌套的数据结构
文章目录
- 快速理解多重嵌套结构
- 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>>——多层嵌套的数据结构相关推荐
- List(Map(String, Object))转为Fastjson JSONArray
原始的 List<Map<String, Object>> test_list_map 内容如下: [{path=hdfs://manager:9000/testDir/1.t ...
- 多层嵌套json转换为Map再转换为单层
多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json.并且把json进行格式化.于是参照网上的网上的方法使用谷歌的gson利用递归的实现了多层jso ...
- 【List<Map<String, Object>>】记录一次树形遍历方法
在我实习过程中,有一次碰到了一个遍历需求,大概是这样的: 我现在拿到了广州这个节点的id,然后我要把整棵树查出来,并且返回方式要和前端匹配,以父子嵌套方式返回,就是这样 然后这个问题折磨了我很久 在同 ...
- Map<String,Object> map=new HashMap<String,Object>详解
Map是一个接口,即Interface Map<K,V>,其中K-key类型和V-value的类型 它的每个元素包含一个key对象和一个value对象,且在这两个对象之间存在一种映射的对应 ...
- 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 ...
- Map<String,Object>接收参数,Long类型降级为Integer,报类型转换异常
前言 今天看群里小伙伴问了一个非常有意思的问题: 使用 Map<String,Object> 对象接收前端传递的参数,在后端取参时,因为接口文档中明确该字段类型为 Long ,所以对接收的 ...
- 例解List<Map<String, Object>>存放的对象问题
一.提出问题 代码一: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java ...
- Map<String,List<Map<String, Object>>>遍历
package com.java.day08; import java.util.*; /** * @Auther: iteration.1 * @Date: 10/4/2021 - 04 - 1 ...
- 关于List<Map<String, Object>>个人理解
首先map<String,Object>是定义了一个Map集合变量,然后list<map<String,Object>>是定义了一个List的集合变量,是map的一 ...
最新文章
- ABAP数据库操作之操作语句Insert
- 如何消耗更少资源?Unity优化技巧(上)
- JAVA并发编程3_线程同步之synchronized关键字
- V8 JavaScript 引擎 6.6 发布,异步性能大幅提升
- 有关Spring中Resource的继承关系(代码解读)
- 软考数据库考试有题库吗_软考数据库系统工程师考试心得
- 硬件知识:打印机常见的故障及维护,值得收藏!
- 详解 Python qrcode 二维码模块
- 数字图像处理 --- 图像的傅里叶变换的频谱特征 二(方向性)
- Centos下数据写入MySQL数据库汉字是????
- 浮士德---法国:古诺
- 最详细UWB技术及特点介绍
- C++杂记(一)——常见知识总结
- 1181:整数奇偶排序
- 【C++】STL —— unordered_map/unordered_set的基本使用
- 计算机系统第五章答案,计算机系统概论第五章测验及答案.doc
- Notepad++ 替代品开源了,是真香 !!!
- php七牛云批量上传,七牛云——批量将本地图片上传到七牛云
- Smart Package Robot,高级安装记录器和 RPA 脚本系统
- 【算法千题案例】⚡️每日LeetCode打卡⚡️——61.下一个更大元素 I