List<Map<String, String>> 开启 Map<String, List<String>>

将List变成Map结构体,下面的文字是没有水平!

写作方法传送前土壤很长一段时间。我不知道有没有好的解决办法。我们也希望提供!

Map<String, String> map1 = new HashMap<String, String>();
map1.put("a", "1");
map1.put("b", "3");
map1.put("c", "5");

Map<String, String> map2 = new HashMap<String, String>();
map2.put("a", "2");
map2.put("b", "4");
map2.put("c", "6");

List<Map<String, String>> lm = new ArrayList<Map<String, String>>();
lm.add(map1);
lm.add(map2);

Map<String, List<String>> ml = new HashMap<String, List<String>>();
for (int i = 0; i < lm.size(); i++) {
	Map<String, String> m = lm.get(i);
	Iterator<Map.Entry<String, String>> it = m.entrySet().iterator();
	while (it.hasNext()) {
		Map.Entry<String, String> entry = it.next();
		List<String> al = ml.get(entry.getKey());
		if (al == null) {
			al = new ArrayList<String>();
		}
		al.add(entry.getValue());
		ml.put(entry.getKey(), al);
	}
}

System.out.println(ml);// {b=[3, 4], c=[5, 6], a=[1, 2]}

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-12-23 16:10:23

List&lt;Map&lt;String, String&gt;&gt; 开启 Map&lt;String, List&lt;String&gt;&gt;的相关文章

如何过滤List&lt;Map&lt;String,Object&gt;&gt; 中的重复Map

最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码. //去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map

沃老师学生的成绩+stl string 的删除操作,加map的自动排序

题目链接 思路:stl大法好 将字符的末尾0给去掉,然后比较string的大小,同时用map的自动排序将名字按照字典序输出,>>>stl大法好 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<map> #include<set> #include<vector> using namespa

String放入运行时常量池的时机与String.intern()方法解惑

运行时常量池概述 Java运行时常量池中主要存放两大类常量:字面量和符号引用.字面量比较接近于Java语言层面的常量概念,如文本字符串.声明为final的常量值等. 而符号引用则属于编译原理方面的概念,包括了下面三类常量: - 类和接口的全限定名(包名+类名) - 字段的名称和描述符 - 方法的名称和描述符 运行时常量池位置 运行时常量池在JDK1.6及之前版本的JVM中是方法区的一部分,而在HotSpot虚拟机中方法区放在了"永久代(Permanent Generation)".所以

各种String类型的时间转long型,long转String

唉!  有用的拿去吧.  直接可以用. 1 package com.tai.use; 2 3 import java.text.SimpleDateFormat; 4 5 public class DataUtil 6 { 7 /** 8 * 时间格式转换,将字符串型时间转换为毫秒数 9 * "yyyy-MM-dd HH:mm:ss" => "12345" 19位 10 * "yyyyMMddHHmmss" => "1234

使用HashMap需要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()

Map/HashMap是java中一种很常用的数据结构,一般我们在应用中做的事情就是调用put向容器写入数据或者是get从容器读取数据.Map.entrySet()这个方法返回了键值对的集合,也是JDK官方推荐的遍历Map的方式. Set<Map.Entry<String, String>> allEntrys = maps.entrySet(); for (Map.Entry<String, String> as : allEntrys) { String key =

使用HashMap须要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()

Map/HashMap是java中一种非经常常使用的数据结构,一般我们在应用中做的事情就是调用put向容器写入数据或者是get从容器读取数据. Map.entrySet()这种方法返回了键值对的集合,也是JDK官方推荐的遍历Map的方式. Set<Map.Entry<String, String>> allEntrys = maps.entrySet(); for (Map.Entry<String, String> as : allEntrys) { String k

开发Android Map程序 如何获取 apikey (Google Map API v2)

1. 在Eclise --> preference --> android --> bulid 能够看到缺省的debug keystore:注意,最新版本的Android Eclipse中无需再自己产生MD5 和 SHA1 2. 登录Google网站账户后转到如下网址 https://console.developers.google.com/project/apps~soft-edu/apiui/api?authuser=0:在该页面中点击APIs然后将Google Maps Andr

lambda函数,常用函数,内置函数(string,zip()map()filter())的用法

lambda函数胡使用#coding:utf-8g = lambda x,y:x*y/*必须亦g=*/print g(2,3)/*print必须有*/swtich函数使用 def jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator = {"+":jia,"-":jian,"*&q

String中各方法多数情况下返回新的String对象

(1)subString是否始终返回一个新串? 事实并非如此,subString只有在截取的子串是真子串(真子串指子串与原串不相同)时才会返回一个新声明的子串.当截取的是整个字符串时,则返回自身,具体可参考源码: subString方法用来截取子串,方法的使用有两种形式String subString(int begin)和String subString(int begin, int end).具体可参考JDK文档. public String substring(int beginIndex