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>>集合的更多相关文章

  1. 笔记 freemark list标签迭代Map<Map<String,Object>集合排序问题

    本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. 工作中出现一个比较特殊的问题,在模板ftl文件中,一般用list迭代map 举例: 后台: // 传入的参数 ...

  2. jsp页面遍历List<Map<String,Object>>

    多表联查会有此类结果出现, 查阅发现基本解决思路是双重遍历,获取map,entry.value等方法. 最终发现可以使用c:forEach单次遍历,map中的key值大写,即可得到object. Co ...

  3. 对List<Map<String, Object>>集合排序

    private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator& ...

  4. List<Map<String, Object>>集合中获取某个key并转换为List<Integer>集合

    package com.codyy.sso.controller.yuanqu; import java.util.ArrayList; import java.util.HashMap; impor ...

  5. Mybatis 遍历 List<Map<String,Object>>

    在上一篇博客中总结了MyBatis Plus 实现多表分页模糊查询(链接在最后).返回类型是编写一个专门的vo类.这次是返回List < Map > 前言 ​ 编写一个专门的vo返回类,主 ...

  6. c标签遍历List<Map<String, Object>> 数据格式

    <c:forEach varStatus="loop" var="dataMap" items="${dataMap}"> &l ...

  7. String 转 List<Map<String, Object>>

    public static List<Map<String, Object>> toListMap(String json){ List<Object> list ...

  8. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  9. List<Map<String,Object>>使用Java代码遍历

    List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值: package excel; import java.u ...

  10. json遍历,List<Map<String,Object>>遍历

    js怎样给input对象追加属性,如disabled $(":textbox").attr({"disabled":true}); List<Map< ...

随机推荐

  1. Linux系统Shell脚本第一章:Shell脚本基础及时间同步

    目录 一.Shell脚本基础 1.Shell作用 2.什么是Shell脚本及处理逻辑 3.shell脚本基本格式 4. shell脚本执行方式 5.实操演示 二.Shell脚本中的变量 1.变量的作用 ...

  2. java spring 理解

    1.spring IOC容器 其实就是 new 了一个 ApplicationContext 类对象.->应用上下文对象. 2.应用上下文对象 实例化.配置,并管理 bean. 所以上下文对象是 ...

  3. 安装jdk,tomcat,oracle,PL/SQL的一些问题

    仅限于自己学习使用 新进公司,需要安装jdk1.6,tomcat6, oracle和pl/sql 先是jdk1.6,安装后配置环境变量,都在系统变量里,在cmd,分别打出 java -version, ...

  4. SwiftUI笔记

    @Published 标记对象定义的属性变更可以被监听,当对应字段变化时会触发对象 objectWillChange 通知,订阅了该属性的View也会收到值改变的通知 /// A type that ...

  5. 基于注解的AOP

    1.引入依赖 <!--spring aop依赖--> <dependency> <groupId>org.springframework</groupId&g ...

  6. json类型数据取出想要的部分

    因为才疏学浅,只能用很笨的方法. 以下是我拿到的数据的json型数据. {"result":{"ingredient":{"result": ...

  7. 掌控安全学院SQL注入靶场-布尔盲注(三)

    测试了username参数,没有发现注入 123456' or '1'='1 123456' or '1'='2 第二种注入方法

  8. cgroup和Linux Namespace基础操作

    一.开头 接触过docker的同学多多少少听过这样一句话"docker容器通过linux namespace.cgroup特性实现资源的隔离与限制".今天我们来尝试学习一下这两个东 ...

  9. QTcpSocket 设置接收数据延时等待时间

    /* 客户端接入槽函数 */ void TcpServer::slotNewConnect(void) {/* 获取连接的客户端句柄 这里设置刷新数据时间 1ms */ QTcpSocket *pSo ...

  10. Java基础__05.网络编程

    通信协议 即约定网络通信时的一些内容. TCP和UDP对比 TCP:类比打电话 连接稳定 三次握手.四次挥手 客户端.服务端 传输完成.释放连接,效率低 UDP:类比发短信 不连接.不稳定: 客户端. ...