Map遍历的几种方法
查看Map自带API
map遍历方法:
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer,String>(); map.put(10,"first");
map.put(20,"second");
map.put(30,"third"); /**
* 通过map.keySet遍历key,通过map.get(key)取value
*
* 特点:适用于仅获取key的情况,同时也可通过key获取value,
* 不过不推荐使用该方法获取value(原因:通过key值去计算对应的hash,然后再通过hash获取对应的结果值,会导致效率较低)
*/
for (Integer key:map.keySet()
) {
System.out.println("key is " + key +" and value is " + map.get(key));
} /**
* 通过map.entrySet()遍历该map,通过entry.getKey()获取key entry.getValue()获取value
*
* 特点:同时需要key和value时推荐使用
* hashMap内部的存储结构就是基于Entry的数组,在用这种方式进行遍历时,只需要遍历一次即可
*/
for (Map.Entry<Integer,String> entry:map.entrySet()
) {
System.out.println("key is " + entry.getKey() + " and value is " + entry.getValue());
} /**
* 通过map.entrySet()使用iterator遍历,it.getKey()获取key it.getValue()获取value
*
*特点:效率同map.entrySet(),增加删除元素的功能,可以使用Iterator的remove方法删除元素
*/
Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer,String> it = iterator.next();
//删除元素
if("second".equals(it.getValue())){
iterator.remove();
}
System.out.println("key is " + it.getKey() + " and value is "+ it.getValue());
} /**
* 通过map.values()获取所有的value遍历,适用于只获取value的情景
*
* 特点:适用于仅取value的情况
*/
for (String value:map.values()
) {
System.out.println("value is "+value);
} /**
* java8 Lambda表达式遍历
*/
map.forEach((key, value) -> {
System.out.println("Lambda-> key is " + key + "and value is" + value);
}); }
Map遍历的几种方法的更多相关文章
- map遍历的四种方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- Map 遍历的几种方法
复习map的过程中想到的,做个简单的记录 public class HashMapTest { public static void main(String args[]) { Map<Inte ...
- (转载)Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- map遍历的四种方式
原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...
- JavaScript遍历对象4种方法和遍历数组的3种方式 代码
//遍历对象 4种方法 //Object.keys(obj).forEach() console.log("keys...遍历</br>") var obj1 = { ...
- Map集合遍历的2种方法
Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...
- 遍历Map key-value的两种方法
以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下: Map<String,String> testData ...
- map集合遍历的五种方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Map<String, String> 遍历的四种方法
Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...
随机推荐
- 读书笔记,《深入理解java虚拟机》,第三章 垃圾收集器与内存分配策略
要实现虚拟机,其实人们主要考虑完成三件事情: 第一,哪些内存需要回收: 第二,什么时候回收: 第三,如何回收. 第二节,对象已死吗 垃圾收集其实主要是针对java堆里面的数据来说的,传统的垃圾收 ...
- Spark:求出分组内的TopN
制作测试数据源: c1 85 c2 77 c3 88 c1 22 c1 66 c3 95 c3 54 c2 91 c2 66 c1 54 c1 65 c2 41 c4 65 spark scala实现 ...
- Mongoose的分页功能
来自: https://github.com/edwardhotchkiss/mongoose-paginate 拷贝如下: Note: This plugin will only work wi ...
- BitNami
BitNami 提供wordpress.joomla.drupal.bbpress等开源程序的傻瓜式安装包下载,所有的安装包内置了服务器环境,就是说,不需要在本地 电脑上另外搭建服务器,就可以一次性傻 ...
- 快讯:微软安卓版个人助理(Cortana)在美国境内进行公測
8月24日,"Microsoft starts public test of Cortana app for Android smartphones"(此文8月24日发表),此事意 ...
- 轻松python文本专题-字符与字符值转换
场景: 将字符转换成ascii或者unicode编码 在转换过程中,注意使用ord和chr方法 >>> print(ord('a')) 97 >>> print(c ...
- 微信小程序 - 分包加载(独立分包)
独立分包是小程序中一种特殊类型的分包,可以独立于主包和其他分包运行.从独立分包中页面进入小程序时,不需要下载主包.当用户进入普通分包或主包内页面时,主包才会被下载 将某些具有一定功能独立性的页面配置到 ...
- 创建一个入门的JAVA WEB站点(REST JERSEY)
最近一直在看TOMCAT,想要自己创建一个小WEB站点,有不想要部署在其他的容器内这是一个不错的学习对象. 一.选择合适的模版 mvn archetype:generate -DarchetypeCa ...
- angularjs显示html片段
ngBindHtml <div ng-controller="ExampleController"> <p ng-bind-html="myHTML&q ...
- 【HDU 5647】DZY Loves Connecting(树DP)
pid=5647">[HDU 5647]DZY Loves Connecting(树DP) DZY Loves Connecting Time Limit: 4000/2000 MS ...