Map

简介: Map

概念

  • 映射关系
  • A集合 B集合 (ArrayList LinkedList Vector HashSet LinkedHashSet TreeSet)
  • A集合当中 的每一元素,都 可以在B集合当中找到一个唯一的一个值与之对应
  • A集合当中 的元素不能是重复(Set)
  • A集合当中的每一个元素称它是一个key(键)
  • B集合当中的每一个元素称它是一个Value(值)

基本操作

添加功能

删除功能

长度的功能

遍历Map

方式one

// map为需要遍历的Map
Set<String> allKeys = map.keySet();
//取出每一个key 获取对应的value值
Iterator<String> it = allKeys.iterator();
while(it.hasNext()) {
    //取出key值
    String key = it.next();
    Object val = map.get(key);
    System.out.println(key+"="+val);
}
System.out.println("------------");
//set能使用迭代器,就能使用foreach
for (String key : map.keySet()) {
    System.out.println(key+"="+map.get(key));
}

方式two

//双列集合
Map<String, Integer> map = new HashMap<>();
map.put("张三", 20);  //每一个put的key-value 就是一个entry对象
map.put("李四", 21);
map.put("王五", 22);
//获取所 有的key-value对象 entry对象
//Entry是定义 在map内部当中的一个接口
//获取所有 的entry对象
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
//遍历每一个entry对象
Iterator<Map.Entry<String, Integer>> it = entrySet.iterator();
while(it.hasNext()) {
    //取出每一个entry对象
    Map.Entry<String, Integer> en = it.next();
    //取出entry对象的key
    String key = en.getKey();
    //取出entry对象的值
    Integer value = en.getValue();
    System.out.println(key +" = " + value);
}
System.out.println("--------------");
for (Map.Entry<String, Integer> entry : entrySet) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}

LinkedHashMap

//使用HashMap它的key是没有顺序
HashMap<String,Integer> hm = new HashMap<>();
hm.put("张三", 20);
hm.put("李四", 20);
hm.put("王五", 20);
System.out.println(hm);
//添加的元素是有顺序(你怎么放的,打印时就是什么顺序的)
LinkedHashMap<String,Integer> hm2 = new LinkedHashMap<>();
hm2.put("张三", 20);
hm2.put("李四", 20);
hm2.put("王五", 20);
System.out.println(hm2);
相关文章
|
JavaScript
JS中every的简单使用
JS中every的简单使用
|
存储 Kubernetes 算法
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
1814 0
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
|
4月前
|
存储 NoSQL Java
配置RedisTemplate序列化机制
通过上述步骤,你可以灵活配置RedisTemplate的序列化机制,根据应用需求选择合适的序列化器,从而确保数据在Redis中的存储和读取效率最优化。配置合适的序列化机制对于性能和存储效率至关重要,而且这样可以确保数据在存储和传输过程中的结构清晰和一致性。
271 11
|
4月前
|
供应链 数据可视化 搜索推荐
零代码2小时搭建进销存系统
零代码进销存系统助力企业快速搭建库存、销售及财务管理系统,无需编程,2小时即可完成部署,解决仓库混乱、协作困难及系统难以上线等问题,提升管理效率与决策质量。
|
6月前
|
机器学习/深度学习 XML Java
【spring boot logback】日志logback格式解析
在 Spring Boot 中,Logback 是默认的日志框架,它支持灵活的日志格式配置。通过配置 logback.xml 文件,可以定义日志的输出格式、日志级别、日志文件路径等。
1036 5
|
10月前
|
API
钉钉宜搭--远程API,在其他人访问时无法生效
简介: 描述了一种远程API配置问题的场景。开发人员在本地可正常通过应用表单获取数据,但同组织的其他同事访问时无法获取数据,尽管已设置全部权限。问题是关于如何解决这种跨用户数据访问异常的情况,确保同事间能正常共享数据。
|
人工智能 算法 自动驾驶
AI的伦理困境与技术发展
在人工智能(AI)技术的飞速发展中,我们不断见证着其改变世界的能力。然而,随着AI应用的深入,伦理问题也日益凸显。本篇文章将探讨AI带来的伦理挑战,分析如何平衡技术创新与道德责任,并提出未来AI发展的可行路径。
553 28
|
域名解析 小程序 Linux
CentOS搭建内网穿透frp并绑定自定义域名
CentOS搭建内网穿透frp并绑定自定义域名
3602 2
|
前端开发 Java API
每天一个摆脱if-else工程师的技巧——优雅的参数校验
在日常的开发工作中,为了程序的健壮性,大部分方法都需要进行入参数据校验。本文围绕作者如何优雅的进行参数校验展开讨论。
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
627 1