java中的双列集合Map
创始人
2024-06-03 00:00:44
0

一、双列集合的特点
(1)双列集合一次需要存一对数据,分为键和值;
(2)键不能重复,值可以重复;
(3)键和值是一一对应的;
(4)“键值对”或者“键值对对象”在Java中叫做“Entry对象”。

二、双列集合的体系结构
在这里插入图片描述

上图中红色的圈表示接口,蓝色的圈表示类。

三、Map常见的API
Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的。
在这里插入图片描述

//创建Map集合的对象
Map m = new HashMap<>();
//添加元素
m.put("杨过","小龙女");
m.remove("杨过");

注意:(1)put()方法除了添加功能外,还有覆盖的功能。添加数据时如果键不存在,则将键值对加入Map集合中,且方法返回值为null;若键已存在,则用新的键值对替代旧的,且方法返回值为被覆盖的旧的键值对。
(2)remove()根据键值删除键值对。

四、Map集合的三种遍历方法
1.键找值:获取所有的键keySet(),把这些键放到一个单列集合中。

Map map = new HashMap<>();
map.put("杨过","男");
map.put("小龙女","女");
map.put("杨蓉","女");Set keys = map.keySet();
for(String key:keys){
String value= map.get(key);//根据键获得值
System.out.println(key+"="+value);
}

2.键值对:通过键值对对象进行遍历entrySet()

Map map = new HashMap<>();
map.put("杨过","男");
map.put("小龙女","女");
map.put("杨蓉","女");
Set> entries = map.entrySet();//Map.Entry表示键值对对象
for(Map.Entry entry:entries)
{
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"="+value);
}

3.使用Lambda表达式

Map map = new HashMap<>();
map.put("杨过","男");
map.put("小龙女","女");
map.put("杨蓉","女");
map.forEach((String key,String value)->{
System.out.println(key+"="+value);
});

五、HashMap
1.特点
(1)HashMap是Map里面的一个实现类;
(2)没有额外需要学习的特有方法,直接使用Map里面的方法就可以了;
(3)特带你都是由键决定:无序、不重复、无索引。
(4)HashMap和HashSet一样。
在这里插入图片描述

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...