遍历List<Map<String,Object>>集合
import java.util.*;
public class HelloWorld {
public static void main(String []args) {
//定义一个List<Map<String,Object>>集合:
List<Map<String, Object>> listMaps = new ArrayList<Map<String, Object>>();
//定义第一个Map<String,Object>集合,并在其中添加数据
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("1", "a");
map1.put("2", "b");
map1.put("3", "c");
listMaps.add(map1);
//定义第二个Map<String,Object>集合,并在其中添加数据
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("11", "aa");
map2.put("22", "bb");
map2.put("33", "cc");
listMaps.add(map2);
//第一种遍历List<Map<String,Object>>集合的方式
for (Map<String, Object> map : listMaps) {
for (String s : map.keySet()) {
System.out.print(map.get(s) + " ");
}
}
System.out.println(); //打印结果:a b c aa bb cc
System.out.println("========================");
//第二种遍历方式
for (int i = 0; i < listMaps.size(); i++) {
Map<String, Object> map = listMaps.get(i);
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
System.out.println(map.get(string));
}
}
/**
打印结果:
a
b
c
aa
bb
cc
*/
System.out.println("++++++++++++++++++++++++++++");
//第三种遍历方式
for (Map<String, Object> map : listMaps) {
for (Map.Entry<String, Object> m : map.entrySet()) {
System.out.print(m.getKey() + " ");
System.out.println(m.getValue());
}
}
/**
打印结果:
1 a
2 b
3 c
11 aa
22 bb
33 cc
*/
System.out.println("-----------------------------");
//List<Map<String,Object>>集合 Map<String,Object>集合的区别:
for (Map<String, Object> map : listMaps) {
System.out.println("List<Map>的值:"+ map);
}
/**打印结果:
List<Map>的值:{1=a, 2=b, 3=c}
List<Map>的值:{11=aa, 22=bb, 33=cc}
*/
System.out.println(map1);
//打印结果:{1=a, 2=b, 3=c}
//遍历map1集合
for (Map.Entry<String, Object> m : map1.entrySet()) {
System.out.print(m.getKey() + " ");
System.out.println(m.getValue());
}
/**打印结果:
1 a
2 b
3 c
*/
for (Map<String, Object> map : listMaps) {
map.forEach((e, k) -> {
if(e.equals("11")){
k = k + "11";
}
System.out.println("e:"+ e + ",k:" + k);
});
}
/** 打印结果:
e:11,k:aa11
e:22,k:bb
e:33,k:cc
e:1,k:a
e:2,k:b
e:3,k:c
*/
}
public void delList(){
// 删除list指定元素
List<Map<String, Object>> products = null;
//获取List元素
products = productService.getProduct();
//使用迭代删除
Iterator<Map<String, Object>> productsIterator = products.iterator();
//hasNext判断是否有元素,next获取元素,“pro01”为键的val
while (productsIterator.hasNext()) {
//删除特定元素
Map<String, Object> product = productsIterator.next();
if("product01".equals(product.get("productName"))){
productsIterator.remove();
}
if("product02".equals(product.get("productName"))){
productsIterator.remove();
}
}
}
}
遍历List<Map<String,Object>>集合的更多相关文章
- 笔记 freemark list标签迭代Map<Map<String,Object>集合排序问题
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. 工作中出现一个比较特殊的问题,在模板ftl文件中,一般用list迭代map 举例: 后台: // 传入的参数 ...
- jsp页面遍历List<Map<String,Object>>
多表联查会有此类结果出现, 查阅发现基本解决思路是双重遍历,获取map,entry.value等方法. 最终发现可以使用c:forEach单次遍历,map中的key值大写,即可得到object. Co ...
- 对List<Map<String, Object>>集合排序
private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator& ...
- List<Map<String, Object>>集合中获取某个key并转换为List<Integer>集合
package com.codyy.sso.controller.yuanqu; import java.util.ArrayList; import java.util.HashMap; impor ...
- Mybatis 遍历 List<Map<String,Object>>
在上一篇博客中总结了MyBatis Plus 实现多表分页模糊查询(链接在最后).返回类型是编写一个专门的vo类.这次是返回List < Map > 前言 编写一个专门的vo返回类,主 ...
- c标签遍历List<Map<String, Object>> 数据格式
<c:forEach varStatus="loop" var="dataMap" items="${dataMap}"> &l ...
- String 转 List<Map<String, Object>>
public static List<Map<String, Object>> toListMap(String json){ List<Object> list ...
- 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历
分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...
- List<Map<String,Object>>使用Java代码遍历
List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值: package excel; import java.u ...
- json遍历,List<Map<String,Object>>遍历
js怎样给input对象追加属性,如disabled $(":textbox").attr({"disabled":true}); List<Map< ...
随机推荐
- xmind某一天突然打不开了
某一天发现xmind双击后,应用未启动 感谢博主:https://www.cnblogs.com/helloLuoLuo/p/11926530.html 将安装目录下的两个ini文件 将文件中将App ...
- 查看nohup.out 日志文件
1.查看实时日志: tail -f nohup.out 2.查看实时日志并检索关键字: tail -f nohup.out | grep "关键字" 3.查看文件最后100行日志: ...
- windows文件夹被占用的解除办法
1.第一步,按下快捷键组合 ctrl alt del,打开任务管理器窗口,点击上方菜单栏中的性能选项. 2. 第二步,在性能页面下找到打开资源监视器按钮并点击. 3. 第三步,进入资源监视器页面,点击 ...
- mysql正则替换 正宗!
先看个官方例子 mysql> SELECT REGEXP_REPLACE('a b c', 'b', 'X'); +-----------------------------------+ | ...
- java中Atomic变量的实现原理是怎样的?
转载自: Java3y https://www.zhihu.com/question/39130725/answer/1006948362 一.基础铺垫 首先我们来个例子: public class ...
- 利用shell脚本来监控linux系统的负载与CPU占用情况
一.安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具) 1.下载安装: http://downloads.sourceforge.net/msmtp/msmtp-1.4 ...
- synchronized与CAS
参考:java3y<对线面试官> synchronized synchronized是⼀种互斥锁,⼀次只能允许⼀个线程进⼊被锁住的代码块synchronized是Java的⼀个关键字,它能 ...
- 基于Axi4_lite的UART串口Verilog代码实现
UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块.UART ...
- Java中如何判断两个对象是否相等
参考:https://blog.csdn.net/u013063153/article/details/78808923 下面是自己开发过程中的实现 package com.***.***.entit ...
- MySQL学习日志(建设中)
1.前期准备 1.1软件需求 mysql8.0 Connector/J 8.0.31 workbench(懒得放链接自行百度吧) 一定不要下5.5或更低版本的,我折磨了宝贵的一上午,低版本bug很多, ...