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", " ...
随机推荐
- Easyui1.3.4+IIS6.0+IE8兼容问题解决
刚刚学习JQuery Easyui,就遇到了拦路虎,最新版本1.3.4下载下来部署到win2003 + IIS6.0中发现所有demo都不可以渲染,IE8提示错误如下: 详细内容如下: 用户代理: M ...
- RxJava RxLifecycle 生命周期 内存泄漏 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- IE11 F12工具报错
系统环境 win7+IE11 报错描述: Exception in window.onload: Error: An error has ocurredJSPlugin.3005 Stack Trac ...
- WiFi十五岁了:感谢它能让我们在厕所上网
无线俨然成为当下移动用户不可或缺的重要伴侣,在无线覆盖的区域意味着能够获取各种资讯或同好友进行即时通讯.无线带来了前所未有的技术变革,也颠覆了生活习惯,让用户可以访问Netflix或者在厕所浏览网页. ...
- [Math]理解卡尔曼滤波器 (Understanding Kalman Filter)
1. 卡尔曼滤波器介绍 卡尔曼滤波器的介绍, 见 Wiki 这篇文章主要是翻译了 Understanding the Basis of the Kalman Filter Via a Simple a ...
- 怎样将 MySQL 迁移到 MariaDB 上
自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaD ...
- Jquery中的高度
$('.someElement').height(); // returns the calculated pixel height of the element(s) $(window).heigh ...
- junit与spring-data-redis 版本对应成功的
spring-data-redis 版本:1.7.2.RELEASE junit 版本:4.12
- 【Python】安装geocoder
C:\Users\horn1\Desktop\python\49-geo>pip install geocoder Collecting geocoder Downloading https:/ ...
- javascript中this的妙用
this是javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用. this总是指向对象,并且为调用函数的那个对象: //调用普通函数 function f ...