一、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>>的方法的更多相关文章

  1. java List<Map<String,Object>遍历的方法

    public static void main(String[] args) { List<HashMap<String, Object>> list = new ArrayL ...

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

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

  3. 添加,删除List<Map<String, Object>>元素

    这里讲对List<Map<String, Object>>的数据结构的添加和删除实例 添加 //初始化 List<Map<String, Object>> ...

  4. JAVA中对List<map<String,Object>>根据map某个key值进行排序

    方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...

  5. 自定义规则,对List<Map<String,Object>> List<Object>进行排序

    package lltse.java.collection; import java.util.ArrayList; import java.util.Collections; import java ...

  6. String, JSONArray , JSONObject ,Map<String, Object> 与对象

    String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/6 ...

  7. Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出

    Map笔记: import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /T ...

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

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

  9. 使用 JDBC 和 JavaTemplate 查询SQL语句返回 List<Map<String,Object>>

    使用JDBC执行sql语句返回List 类型: public class JdbcUtil { private static Log log = LogFactory.getLog(JdbcUtil. ...

随机推荐

  1. 【Todo】Java要学的一些比较好的框架和系统

    commons-pool apache的通用线程池 可以看看这篇文章:<使用common-pool实现的一个简单的线程池> Jmeter 性能测试 Squid Link

  2. IntelliJ IDEA 学习(六)内存设置

    小伙伴们经常会发现,在开发的时候,经常遇到内存被占满,导致异常卡顿,有时候提示内存溢出,这时可以通过设置xmx来改善.不过切记最好不要超过内存的1/4 打开 IDEA 安装目录,看到有一个 bin 目 ...

  3. 转:Singleton模式

    C++完美实现Singleton模式  转自:http://www.cppblog.com/dyj057/archive/2005/09/20/346.html boost库的Singleton的实现 ...

  4. QQ聊天即时代码

    QQ即时聊天代码:[需对方已经即时聊天工具功能 开通入口http://shang.qq.com/v3/widget.html] tencent://Message/?Uin=84065994& ...

  5. C# Socket编程(3)编码和解码

    在网络通信中,很多情况下:比如说QQ聊天,通讯双方直接传递的都是字符信息.但是字符信息并不能够直接通过网络传输,这些字符集必须先转换成一个字节序列后才能够在网络中传输,于是这里就产生了编码和解码的概念 ...

  6. Linux安装多个Python版本

    服务器上的Python版本太老了,需要安装一个新的Python版本,才能跑我的代码.因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用软链来进行升级. 使用系统自带的yum,apt-get ...

  7. 《javascript高级程序设计》第六章 Object Creation VS Inheritance

    6.1 理解对象 6.1.1 属性类型 6.1.2 定义多个属性 6.1.3 读取属性的特性6.2 创建对象 6.2.1 工厂模式 6.2.2 构造函数模式 6.2.3 原型模式 6.2.4 组合使用 ...

  8. Qt之QPauseAnimation

    简述 QPauseAnimation类为QSequentialAnimationGroup提供了一个暂停. 如果你想为QSequentialAnimationGroup动画之间添加延迟,可以插入一个Q ...

  9. exit(0)和exit(1)区别

    exit(0):正常退出程序: exit(1):非正常退出程序: return:返回. return是语言级别的,表示调用堆栈的返回: exit是系统调用级别的,表示一个进程的退出.

  10. BluetoothAdapter.LeScanCallback 参考文档

      BluetoothAdapter.LeScanCallback 参考文档   [翻译自: android开发文档] Class Overview:回调接口被用于传输LE扫描后的结果; 详情参看: ...