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. 【闲话】Vscode+PlatformIO+esp-idf+esp32物联网开发小记之环境搭建

    Vscode作为一款优秀的代码编辑器,具有极为方便快捷的代码辅助与拓展功能,使用熟练后开发效率大大提高,且作为典型的IDE,不需要花费大量的时间成本即可上手,Vscode结合各种插件,可以搭建出大部分 ...

  2. Linux学习 --- 网络基础知识

    1.1  IP地址 IP地址由两部分组成  网络号和主机号 .网络号为IP地址的高位组成,而主机号是IP地址的低位组成,两个的大小取决于网络的类型. IP地址根据网络的地址不同分为:A类,B类,C类, ...

  3. 从傻逼才做的大创开始的NLP学习

    先实名辱骂一下保加利亚电信的毕业生,留个源码,源码里把自己训好的模型删了,洗好的文本删了,什么都给删了,白茫茫一片真他妈干净. 简单说说目前在做的这个东西,姑且算是个项目吧: 给出一个问句,通过实体识 ...

  4. Linux下aria2详细配置,以及接管浏览器下载项

    本篇是在Deepin的环境下操作,大概可适用与Ubuntu和Debian,其他系的Linux不确定, 首先,我们安装aria2,使用命令行(在桌面右键可以打开)输入sudo apt install a ...

  5. vue自定义组件的总结(一)

    1.定义组件时 <template>   <input     class="input"     :type="type"     :pla ...

  6. delphi get post

    procedure GetDemo;var IdHttp : TIdHTTP; Url : string;//请求地址 ResponseStream : TStringStream; //返回信息 R ...

  7. Java基础__01.环境安装

    该篇文章,主要讲述了Java的一些基础知识及准备工作. Java的特性 简单性 面向对象 可移植性,即跨平台性(Write Once, Run Anywhere) 高性能 分布式 动态性 多线程 安全 ...

  8. 山寨e网通公告

    SHANZGONGG山寨e网通V1.0[换行]软件完全免费,官方绝不会索取任何费用,请勿被骗,后果自负.[换行]如果你有什么更好的建议或者需要哪里改进的地方,请联系作者QQ206044600反馈,前提 ...

  9. GraalVM, Native Image, Java on Truffle, LLVM runtime, WebAssembly, JavaScript and Node.js关系是什么

    GraalVM, Java on Truffle, LLVM runtime, WebAssembly, JavaScript and Node.js关系是什么 GraalVM是一个JDK发行版,支持 ...

  10. Jmeter接口测试+Jmeter性能测试项目实战+Jmeter性能监控分析调优01

    Jmeter P1 性能测试关键指标 1,这些指标大家看到后有什么感觉呢?对于功能测试,一般结果就两种,成功的或者是不通过的,有问题的和没问题的,有毛病的和没毛病的,比如打开网页,能打开就打开,打不开 ...