Map的常见使用及循环的五中方式


前言:

map是一种映射,是常用的STL容器。(map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器))如需使用,需要加一个map头文件。

一、Map常见使用

put ():添加元素

Map<String, Integer> map = new HashMap<>();
        System.out.println(map.put("啤酒", 15));
        map.put("饮料", 10);
        map.put("矿泉水", 8);
        map.put("花生", 20);
        map.put("瓜子", 20);
        map.put("八宝粥", 50);

        // 打印map的内容
        System.out.println("map的内容:" + map);

输出结果:

null
map的内容:{啤酒=15, 饮料=10, 矿泉水=8, 瓜子=20, 花生=20, 八宝粥=50}

size():获取集合大小

Map<String, Integer> map = new HashMap<>();
        System.out.println(map.put("啤酒", 15));
        map.put("饮料", 10);
        map.put("矿泉水", 8);
        map.put("花生", 20);
        map.put("瓜子", 20);
        map.put("八宝粥", 50);

        // 打印map集合的大小
        System.out.println("map集合的大小:" + map.size());

输出结果:

map集合的大小:6

clear():清空集合

Map<String, Integer> map = new HashMap<>();
map.put("啤酒", 15);
map.put("饮料", 10);
map.put("矿泉水", 8);
map.put("花生", 20);
map.put("瓜子", 20);
map.put("八宝粥", 50);

// 打印map的内容
System.out.println("map的内容:" + map);
map.clear();
System.out.println("清空map的内容后:" + map);

输出结果:

map的内容:{啤酒=15, 饮料=10, 矿泉水=8, 瓜子=20, 花生=20, 八宝粥=50}
清空map的内容后:{}

isEmpty():判断集合是否为空

Map<String, Integer> map = new HashMap<>();
map.put("啤酒", 15);
map.put("饮料", 10);
map.put("矿泉水", 8);
map.put("花生", 20);
map.put("瓜子", 20);
map.put("八宝粥", 50);
System.out.println("存入数据后,map是否为空:" + map.isEmpty());
map.clear();
System.out.println("清空map的内容后,map是否为空:" + map.isEmpty());

输出结果:

存入数据后,map是否为空:false
清空map的内容后,map是否为空:true

get(Object key):根据键获取对应的值

Map<String, Integer> map = new HashMap<>();
        System.out.println(map.put("啤酒", 15));
        map.put("饮料", 10);
        map.put("矿泉水", 8);
        map.put("花生", 20);
        map.put("瓜子", 20);
        map.put("八宝粥", 50);
        // 根据键获取对应的值
        System.out.println("获取”啤酒“的值:" + map.get("啤酒"));
        System.out.println("获取”瓜子“的值:" + map.get("瓜子"));

输出结果:

获取”啤酒“的值:15
获取”瓜子“的值:20

Collection values():获取Map集合的全部值

Map<String, Integer> map = new HashMap<>();
        System.out.println(map.put("啤酒", 15));
        map.put("饮料", 10);
        map.put("矿泉水", 8);
        map.put("花生", 20);
        map.put("瓜子", 20);
        map.put("八宝粥", 50);
// 获取map的全部键
Collection<Integer> set = map.values();
System.out.println("map的全部值:" + set);

输出结果:

map的全部值:[15, 10, 8, 20, 20, 50]

二、循环遍历的五种方式

首先创建一个Map集合

Map<String, Integer> map = new HashMap<>();
map.put("name", "jack");
map.put("age", "18");
map.put("sex", "男");

1.使用for-each 遍历

for (Map.Entry<String, Integer> entry : map.entrySet()) {
 
    System.out.println("Key = " + entry.getKey() + 
    ", Value = " + entry.getValue());
}

2.使用Iterator(迭代器)遍历

Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
 
    Map.Entry<String, Integer> entry = iterator.next();
    System.out.println("Key = " + entry.getKey() + 
    ", Value = " + entry.getValue());
}

3.使用keySet() 遍历

for (String key : map.keySet()) {
 
    System.out.println("key=  "+key+" and value= "+map.get(key));
}

4.使用Lambda 表达式遍历

map.forEach((key, value) -> System.out.println("Key = " + key + ", Value = " + value));

5.使用 Stream API 遍历

map.entrySet().stream().forEach(entry -> 
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()));

这些遍历方式都有各自的适用场景和优劣势,根据实际需求选择最合适的方式可以提高代码的效率和可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值