迭代输出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. ...
随机推荐
- AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)
目录[-] 一.service引导 二.service 1.factory() 2.service() 3.provider() 一.service引导 刚开始学习Angular的时候,经常 ...
- c++(vs上)与g++(linux下)对于++操作的汇编代码解读
先来看一个代码,估计很多同学都碰到过其中的某一个. #include <stdio.h> #include <iostream> using namespace std; in ...
- 转:c++内存分配
第一篇: http://my.oschina.net/pollybl1255/blog/140323 BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS ...
- 数据库事物四大特性-ACID
事务的:原子性.一致性.分离性.持久性 事物(transaction)是由一些列操作序列构成的执行单元,这些单元要么都做,要么不做,是一个不可分割的工作单元. 数据库事物的四个基本性质(ACID) 1 ...
- iOS开发 判断代理以及代理方法是否有人遵循
if (self.delegate && [self.delegate respondsToSelector:@selector]) { return YES; }
- $.extend abc
console.log(jQuery.extend(this,{'a':'b'},{'c':'d'}));console.log(this.a)var tt = jQuery.extend({},{' ...
- 能源项目xml文件标签释义--<mvc:annotation-driven>
<mvc:annotation-driven />的可选配置 <mvc:annotation-driven message-codes-resolver ="bean re ...
- 两端对齐(兼容较好,支持IE)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- ERROR 1130: Host 'root@localhost' is not allowed to connect to MySQL server
连接mysql时遇到的错误. 原因:该用户没有权限连接访问mysql数据库 解决方法:网站上搜了好多,试了都没有用.最终在登陆的信息页面用root用户登陆时不输入root密码即可.
- (24)odoo中模型标识汇总
* 设置->技术->数据结构->模型 模型 模型描述 类型 瞬态模型account.account 科目 基础对象 ...