Map集合概述、常用方法

一、概述

Map是双列集合,格式:{key1=value1,key2=value2,key3=value3,...},一次需要存异地数据作为一个元素,Map集合的每个元素"key=value"称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做"键值对集合"。

Map集合的所有键不允许重复,但是值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值。

需要存储一一对应的数据的时候适合使用Map。

Map体系:

 Map体系的特点:Map系列集合的特点都是由键决定的,值只是一个附属品,不做要求

1.HashMap(由键决定特点):无序、不重复、无索引

//来一行经典代码
        Map<String,Integer> map = new HashMap<>(); //new实现类,Map是接口
        //添加数据
        map.put("电视",1000);
        map.put("电脑",10000);
        map.put("电视",1010); //后面的数据会覆盖前面的数据
        map.put("手表",10);
        map.put(null,null);
        System.out.println(map); //输出的是内容:{null=null, 手表=10, 电脑=10000, 电视=1010} 无序不重复无索引

2.LinkedHashMap(由键决定特点):有序、不重复、无索引

 Map<String,Integer> map = new LinkedHashMap<>(); //new实现类,Map是接口
        //添加数据
        map.put("电视",1000);
        map.put("电脑",10000);
        map.put("电视",1010); //后面的数据会覆盖前面的数据
        map.put("手表",10);
        map.put(null,null);
        System.out.println(map); //输出的是内容:{电视=1010, 电脑=10000, 手表=10, null=null} 有序不重复无索引

3.TreeMap(由键决定特点):按照大小默认升序排序、不重复、无索引

二、Map常用方法

Map是双列集合的祖宗,它的功能是全部双列集合都可以使用的

 

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        //来一行经典代码
        Map<String,Integer> map = new LinkedHashMap<>(); //new实现类,Map是接口
        //添加数据
        map.put("电视",1000);
        map.put("电脑",10000);
        map.put("电视",1010); //后面的数据会覆盖前面的数据
        map.put("手表",10);
        map.put(null,null);
        System.out.println(map); //输出的是内容:{电视=1010, 电脑=10000, 手表=10, null=null} 有序不重复无索引

        //常用方法
        //1.获取集合的大小
        System.out.println(map.size());
        //2.清空集合
        map.clear();
        System.out.println(map);
        //3.判空
        System.out.println(map.isEmpty());
        //4.根据键获取对应值
        map.put("大大",99);  //如果键不存在会返回null
        System.out.println(map.get("大大"));
        //5.根据键删除整个元素,返回键的值
        System.out.println(map.remove("大大"));
        System.out.println(map.isEmpty());
        //6.判断是否包含某个键
        map.put("小小",100);
        System.out.println(map.containsKey("小小"));
        //7.判断是否包含某个值
        System.out.println(map.containsValue(100));
        //8.获取Map集合的全部键
        System.out.println(map.keySet());
        //9.获取Map集合的全部值
        System.out.println(map.values());
        //10.把其他Map集合的数据倒入自己集合中
        Map<String,Integer> map2 = new HashMap<>();
        map.putAll(map2);
    }
}

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Voronoi Diagram Map是一种利用障碍物之间的空隙生成安全行驶路径的方法。它通过离散采点、构建Voronoi diagram和消除与障碍物相交的边来生成可行驶路径集合。这种方法与图像的距离变换算法类似。\[1\] 在实现上,可以使用Python的scipy库中的spatial模块的Voronoi函数来构建Voronoi diagram。构建完成后,需要排除包含在障碍物内或与障碍物相交的顶点和边,剩下的边就构成了避开所有障碍物的可行驶路径集合。\[1\] 如果你想了解更多关于Voronoi Diagram Map的实现代码,可以参考这个GitHub链接:https://github.com/AtsushiSakai/PythonRobotics/blob/master/PathPlanning/VoronoiRoadMap/voronoi_road_map.py。\[1\] Voronoi Diagram Map是一种常用的路径规划方法,它可以在避开障碍物的同时生成最大程度远离障碍物的安全行驶路径。它在机器人路径规划和自动驾驶等领域有广泛的应用。\[1\] #### 引用[.reference_title] - *1* [多边形、栅格图运用Voronoi_Diagram算法创建路径](https://blog.csdn.net/qq_33106851/article/details/113425776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [1运动规划概述](https://blog.csdn.net/qq_37087723/article/details/112978515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何仙鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值