Java HashMap 集合笔记

小编 2026-06-25 阅读:160 评论:0
需要导入的包 import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import...

需要导入的包


import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

HashMap的基本方法

		//泛型 <>  表示存储数据的类型
		//<Integer,String>,表示key是Integer  value是String
		
		Map<Integer,String> map = new HashMap<Integer,String>();	
		
		map.put(1,\"第一名\");
		map.put(2,\"第二名\");
		map.put(3,\"第三名\");
		map.put(4,\"第四名\");
		
		int size = map.size();	//Map集合 映射的数量
		System.out.println(\"mapsize()=\"+size);		//输出结果:4
		
		//获取所有的key,返回类型为Set
		Set<Integer> keys = map.keySet();		//Set接口 
		System.out.println(\"map.keySet()=\"+ keys);		//输出结果:[1,2,3,4]
		
		//获得所有的value,返回类型为
		Collection<String> values = map.values();		//Collection接口 	
		System.out.println(\"map.values():\" + values);		
		//输出结果:[第一名, 第二名, 第三名, 第四名]
		
		//map.get(key)  获取key为 2,对应的value值
		System.out.println(map.get(2));		//输出结果:第二名
		//如果key或者value为空,则返回 null 
		System.out.println(map.get(10));	//输出结果:null
		
		//遍历Map集合
		map.forEach((k,v)->{
			System.out.println(k+\":\"+v);
		});
		/*输出结果:
		 * 
		 *  1:第一名
			2:第二名
			3:第三名
			4:第四名
		 * 
		 * */
		System.out.println();
		
		//map.remove(key) 根据key移除map中的与该key相关的映射,
		map.remove(4);
		map.forEach((k,v)->{
			System.out.println(k+\":\"+v);
		});
		/*输出结果:
		 * 
		 *  1:第一名
			2:第二名
			3:第三名
		 * 
		 * */
		System.out.println();
		
		//map1.putAll(map2)//把一个map2集合合并到另一个map1集合里,若key有重复的,则map2的键值覆盖与map1重复的键值
		//map.clear();//清空Map集合中所有的键值,清空后,map.size()为0
		

遍历HashMap


		//Map.Entry
		//Entry是Map集合的一个内部接口,用于封装Map集合的一组键值(key和value)
		//可通过entrySet()一次性同时获取key和value
		
		Map<Integer,String> map2 = new HashMap<Integer,String>();
		map2.put(1,\"First\");
		map2.put(2,\"Second\");
		map2.put(3,\"Third\");
		map2.put(4,\"Fourth\");
		
		//遍历Map方法1,二次取值,效率最慢
		for(Integer key : map2.keySet()) {
			System.out.println(key+\" : \"+map2.get(key));
		}
		
		
		//遍历Map方法2
		map2.forEach((k,v)->{
			System.out.println(k+\":\"+v);
		});
		
		
		//遍历Map方法3	//只取一次 速度最快
		System.out.println(\"通过Map.entrySet()使用iterator遍历key和value:\"); 
		
		Map.Entry<Integer, String> entry;
		
		//Iterator只能在Collection集合中使用,不能在Map中使用,可通过Map的keySet() entrySet() 使用Iterator
		
		Iterator<Entry<Integer, String>> it = map2.entrySet().iterator();		
		while(it.hasNext()) {
			entry = it.next();
			System.out.println( entry.getKey() + \" : \" + entry.getValue() ); 
		}
		
		//遍历Map方法4
		System.out.println(\"通过Map.entrySet遍历key和value\");
		
		for(Map.Entry<Integer,String> entry2 : map2.entrySet()) {
			System.out.println( entry2.getKey() + \" : \" + entry2.getValue() );
		}
		
		//Map.entrySet()迭代器会生成Entry Iterator,其返回的实例是一个包含key/value键值对的对象。
		//而keySet()中迭代器返回的只是key对象,还需要到map中二次取值。故entrySet()要比keySet()快一倍左右。
		

参考链接:https://blog.csdn.net/songfeihu0810232/article/details/80156626
参考链接:https://blog.csdn.net/weixin_41763995/article/details/80223244

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表