迭代输出Map和List<Map<String,Object>>的方法
一、Map<String,Object>
String:key的类型
Object:value的类型,value可能是String,或者int类型,什么类型都可以
对于Map接口来说,本身不能直接迭代输出,因为Map的每个位置存放的是一对值(key,value),迭代每次只能输出一个值
需要先取到key的集合,再根据key迭代输出value
迭代方法:
1、foreach
public static void main(String[] args) {
String a="aaa";
int b=10;
Map<String,Object> map=new HashMap<String, Object>() ;
map.put("a",a);
map.put("b", b);
//1、keySet()
Set<String> set=map.keySet();
for(String key:set)
{
System.out.println(key+":"+map.get(key));
}
//2、entrySet()
Set<Entry<String,Object>> entries =map.entrySet();
for(Entry<String,Object> entry:entries ){
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
2、Iterator(推荐)
Map<String,String> map=new HashMap<String,String>();
map.put("mldn","www.mldn.com");
map.put("java","www.java.com"); Set<String> keys=map.keySet();
Iterator<String> iter=keys.iterator();
while(iter.hasNext())
{
System.out.println(iter.next().getKey());
}
keySet():遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据
EntrySet():Map接口中还有一个Entry<K,V>的接口,对应的还有一个 Set<Map.Entry<K, V>> entrySet()方法。
也就是说其实Map中的每条key-value数据对应着一个Entry,这样的话遍历Map其实就是要取出每个Entry
二、List<Map<String,Object>>
public static void main(String[] args) {
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//List集合中存放Map集合
Map<String,Object> map=new HashMap<String,Object>();//定义一个Map集合
map.put("","wang");//这个Map集合放进去一个<key,value>对
map.put("", "xiao");//这个Map集合又放进去一个<key,value>对
map.put("", "dong");
map.put("", "haha");//这个Map集合共有4个<key,value>对
list.add(map);//将这一条map集合放进List集合里
for(Map<String,Object> m:list){ //取list集合里的那一条Map集合
for(String s:m.keySet()){ //取map集合里的String类型的key,
System.out.println(m.get(s));//根据key迭代输出value
}
}
}
下面是list集合里的那一条map集合,里面4个<key,value>对

参考:
http://blog.csdn.net/ipolaris/article/details/8930599
http://blog.csdn.net/zhuanshenweiliu/article/details/9180975
迭代输出Map和List<Map<String,Object>>的方法的更多相关文章
- java List<Map<String,Object>遍历的方法
public static void main(String[] args) { List<HashMap<String, Object>> list = new ArrayL ...
- 笔记 freemark list标签迭代Map<Map<String,Object>集合排序问题
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. 工作中出现一个比较特殊的问题,在模板ftl文件中,一般用list迭代map 举例: 后台: // 传入的参数 ...
- 添加,删除List<Map<String, Object>>元素
这里讲对List<Map<String, Object>>的数据结构的添加和删除实例 添加 //初始化 List<Map<String, Object>> ...
- JAVA中对List<map<String,Object>>根据map某个key值进行排序
方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...
- 自定义规则,对List<Map<String,Object>> List<Object>进行排序
package lltse.java.collection; import java.util.ArrayList; import java.util.Collections; import java ...
- String, JSONArray , JSONObject ,Map<String, Object> 与对象
String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/6 ...
- Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出
Map笔记: import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /T ...
- 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历
分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...
- 使用 JDBC 和 JavaTemplate 查询SQL语句返回 List<Map<String,Object>>
使用JDBC执行sql语句返回List 类型: public class JdbcUtil { private static Log log = LogFactory.getLog(JdbcUtil. ...
随机推荐
- Android网络编程系列 一 JavaSecurity之JSSE(SSL/TLS)
摘要: Java Security在Java存在已久了而且它是一个非常重要且独立的版块,包含了很多的知识点,常见的有MD5,DigitalSignature等,而Android在Java Se ...
- Android目标大纲
为了更好的便于复习 特制作此份大纲 1 J2SE基础 集合框架源码解析2 JVM3 TCP/IP HTTP4 数据结构与算法5 Android6 项目技术点7 开源库解析8 设计模式
- Jni的一个异常
UnsatisfiedLinkError:No implementation found for java.lang.String com.skymaster.hs.test4.MainActivit ...
- @ExceptionHandler
@Controller public class AccessController { /** * 异常页面控制 * * @param runtimeException * @return */ @E ...
- ie8 table td拆分宽度不适应问题
在table上加style="table-layout: fixed;"并在首行加一个高度为0且给定宽度的tr <table class="subtabledeta ...
- Python--关于 join 和 split
.join() join将 容器对象 拆分并以指定的字符将列表内的元素(element)连接起来,返回字符串(注:容器对象内的元素须为字符类型) >>> a = ['no','pai ...
- [maven] 跳过单元测试
1.mvn命令 $ mvn install -Dmaven.test.skip=true 2.通过配置pom <project> [...] <build> <plugi ...
- (12)odoo各种提前期和时间
1)Product的提前期 Customer Lead Time(sale_delay):客户提前期,指SO确认到向客户发货的天数,由于销售数量不同该时间也不同,因此,这里是一个平均时间. ...
- java编程思想
Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理 ...
- Html5新标签解释及用法
Html5新标签解释及用法 HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要 ...