09.1 Map集合+总结23/04/26

本文介绍了Map集合的基本概念,包括每个元素由键值对组成,键唯一且对应一个值。讨论了HashMap和TreeMap两个常见子类,并列举了Map的常用方法如put,remove,get等。接着展示了两种遍历Map集合的方式:foreach和迭代器遍历。最后,详细解释了如何通过键获取Map中的所有值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Map集合:每个元素由键与值两部分组成,通过键可以找对所对应的值。 

        键不能重复,值可以重复;每个键只能对应一个值

2.Map常用子类:

        ①HashMap<K,V>

        ②TreeMap<K,V>

Map集合的常用方法:

put(K key, V value)

将指定的值与该映射中的指定键相关联

remove(Object key)

如果存在,从该地图中删除一个键的映射

get(Object key) 根据指定的键,在Map集合中获取对应的值
containsKey(Object key) 判断集合中是否包含指定的键
Set<Map.Entry<K,V>>entrySet()获取到Map集合中所有的键值对对象的集合(Set集合)[与下面结合使用]
Set<K> keySet()获取Map集合中所有的键,存储到Set集合中[与上面结合使用]
Map<String,String> map = new HashMap<>();    //创建一个Map集合对象
map.put("a", "aa");    //添加键值对
map.put("c", "cc");
map.put("c", "dd");    //替换掉旧数据
map.remove("c");       //根据key删除键值
clear(map);            //清除map集合
//获取map集合中所有的values值
Collection<String> values = map.values();

 3.Map集合的遍历

        ①foreach遍历

//把map集合键值对封装到不同Map.Entry对象中,把这些对象保存到Set集合中
Set<Map.Entry<String, String>> set = map.entrySet();
for(Map.Entry<String,String> entry:set) {    //遍历集合
    //获取entry对象中key和 value
    System.out.println(entry.getKey() + " = " + entry.getValue());
}

         ②迭代器遍历

//迭代器遍历
Iterator<Entry<String, String>> it = set.iterator();
while(it.hasNext()) {
    Entry<String, String> e = it.next();
    System.out.println(e.getKey() + "=" + e.getValue());
}

4.通过键获取Map集合中的所有值

        ①通过键找值的方法:

                1.获取Map中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键

                2.keyset() 遍历键的Set集合,得到每一个键

                3.get(K key) 根据键,获取键所对应的值

//获取map集合中所有的key值,封装到set集合中并返回
Set<String> keys = map.keySet();
Iterator<String> it = keys.iterator();    //迭代器遍历
while(it.hasNext()) {
	String key = it.next();
	System.out.println(key + " = " + map.get(key) );
}		
for(String key : keys) {    //foreach遍历set集合
	String value = map.get(key);    //根据当前key获取对应value值
	System.out.println(key + " = " + value);
}

        ②Entry键值对方法:

                1.entrySet()获取Map集合中的Entry对象,以Set集合形式返回

                2.遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象 

                3.通过getkey()、getValue() 获取Entry对象中的键与值

//把map集合键值对封装到不同Map.Entry对象中,把这些对象保存到Set集合中
Set<Map.Entry<String, String>> set = map.entrySet();
for(Map.Entry<String,String> entry:set) {    //遍历集合
    //获取entry对象中key和 value
    System.out.println(entry.getKey() + " = " + entry.getValue());
}

总结:

List、Set、Map集合对比:
总接口接口子接口顺序元素重复
CollectionListArrayList有序可重复
LinkList有序可重复
SetHashSet无序不重复
TreeSet

有序(借助二叉排序树)

不重复
MapHashMap

键值无序

键不重复、值可重复

TreeMap

键有序(借助二叉排序树)

键不重复、值可重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值