Map体系结构特点概述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Map父接口
- 1、使用步骤
- 二、HashMap实现类
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
Map集合结构
Map接口的特点:
1.用于存储任意键值对(key-Value)
2.键:无序、无下标、不允许重复(唯一)
3.值:无序、无下标、允许重复
提示:以下是本篇文章正文内容,下面案例可供参考
一、Map父接口
特点:存储一堆数据(key-Value),无序,无下标,键不可重复,值可重复。
方法:
- V put(K key,V value) //将对象存入集合中,关联键值。key重复则覆盖原值。
- Object get(Object key) //根据键获取对应的值
- Set //返回所有的key
- Collection values() //返回包含所有值的Collection集合
- Set<Map.Entry<K,V>> //键值匹配的Set集合
1、使用步骤
代码如下(示例):
package com.Map;import java.util.HashMap;
import java.util.Map;
import java.util.Set;/*
*Map接口的使用
* 特点: 1存储键值对 2键不能重复,值可以重复 3.无序*/
public class Demo01 {public static void main(String[] args) {//创建Map集合Map<String, String> map = new HashMap<>();//添加元素map.put("cn","中国");map.put("uk","英国");map.put("usa","美国");map.put("cn","zhongguo");System.out.println("元素个数"+map.size());System.out.println(map.toString());//删除元素
// map.remove("usa");
// System.out.println(map.toString());//遍历//1.使用keySet();// Set<String> keyset=map.keySet();for (String key : map.keySet()){System.out.println(key+"***"+map.get(key));}// 2.使用entrySet();// Set<Map.Entry<String, String>> entries = map.entrySet();for (Map.Entry<String,String> entry :map.entrySet()){System.out.println(entry.getKey()+"----"+entry.getValue());}}
}
二、HashMap实现类
代码如下(示例):
package com.Map;
import java.util.HashMap;
import java.util.Map;
/*
*HashMap集合的使用
* 存储结构:哈希表(数组+链表+红黑树)
* 使用key可hashcode和equals作为重复*/
public class Demo02 {public static void main(String[] args) {//创建集合HashMap<Student ,String> students=new HashMap<Student,String>();//添加元素Student s1=new Student("张三",150);Student s2=new Student("王五",120);Student s3=new Student("小田",110);Student s4=new Student("小溪",150);students.put(s1,"北京");students.put(s2,"上海");students.put(s3,"山西");students.put(s4,"陕西");// students.put(s4,"湖北");students.put(new Student("张三",150),"北京");System.out.println("元素个数: "+students.size());System.out.println(students.toString());//删除操作students.remove(s1);System.out.println("删除之后"+students.size());System.out.println(students.toString());//遍历for (Student key : students.keySet()){System.out.println(key.toString()+"***"+students.get(key));}for (Map.Entry<Student , String> entry :students.entrySet()){System.out.println(entry.getKey()+"*---*"+entry.getValue());}//判断System.out.println(students.containsKey(s2));System.out.println(students.containsValue("美国"));System.out.println(students.containsKey(new Student("王五",120)));}}---```java
package com.Map;import com.HashSet.Person;public class Student {private String name;private int stuNo;public Student(){}public Student(String name, int stuNo) {super();this.name = name;this.stuNo = stuNo;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getStuNo() {return stuNo;}public void setStuNo(int stuNo) {this.stuNo = stuNo;}@Overridepublic String toString() {return "Student [name=" + name + ",stuNo=" + stuNo + "]";}@Overridepublic int hashCode() {final int prime=31;int result = 1;result = prime * result+((name == null)? 0 :name.hashCode());result = prime * result +stuNo;return result;}@Overridepublic boolean equals(Object obj) {if (this == obj) {return true;}if (obj == null) {return false;}if (obj instanceof Student) {Student p = (Student) obj;if (this.name.equals(p.getName()) && this.stuNo == p.getStuNo()) {return true;}}return false;}
}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了HashMap的使用,而Map提供了大量能使我们快速便捷地处理数据的函数和方法。
Map体系结构特点概述相关推荐
- java map映射_【Java】Map 映射接口 概述
Map 映射接口 概述 Map是一个双列数据,存储K-V类型的数据 JDK1.2 - HashMap 是目前Map的主要实现类 JDK1.2 线程不安全的,效率高,可存储null的key和value ...
- Nvidia CUDA初级教程4 GPU体系架构概述
Nvidia CUDA初级教程4 GPU体系架构概述 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p=5 讲师:周斌 本节内容: 为什么需要GPU 三 ...
- Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点
1. Map集合的概述: 1 public interface Map<K,V> 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名 ...
- NVIDIA CUDA初级教程(P2-P3)CPU体系架构概述、并行程序设计概述
文章目录 1.CPU体系架构概述 2.并行程序设计概述 1.CPU体系架构概述 现代CPU架构 CPU的定义 (1)执行指令.处理数据的器件:完成基本的逻辑和算术指令 (2)内存接口.外部设备接口 ( ...
- Java集合框架概述(四)——Map体系集合与底层实现原理
一.Map父接口 1.概要 方法 描述 public interface Map<K,V> 将键映射到值的对象. 一个映射不能包含重复的键; 每个键可以映射到最多一个值. 将键映射到值的 ...
- 学习java的第三十三天,Map集合的概述、Map接口的使用
一.Map集合概述 Map接口的特点: 用于存储任意键值对(Key-Value) 键:无序.无下标.不允许重复(唯一的) 值:无序.无下标.可以重复 Map父接口的特点:存储一对数据(Key-valu ...
- Map集合的概述与特点,常用API及特有的三种遍历方式总结,带应用
一.概述 Map集合是一种双列集合.由两部分组成. 键和值.称为键值对. Map集合分为: 示例: //1.创建一个Map集合对象 Map <String , Integer> maps ...
- linux启用dcb步骤,Linux DCB体系——简短概述
本博文由Shyam Iyer和Ahmad Ali撰写. 当前的Linux 体系是多家供应商各自向Linux内核独立注入代码的结果.这些代码分别遵循各供应商的硬件策略,并由不同的维护人员提交到单独的子系 ...
- 集合框架学习笔记:Collection体系和Map体系、Collections工具类
集合框架 Java是面向对象编程,万事万物皆"对象",为了方便对"对象"进行操作,需要对"对象"进行存储,而Java集合就是存储" ...
最新文章
- Windows Live Writer发布测试
- Google Mock(Gmock)简单使用和源码分析——简单使用
- 03-vue-router
- JS获取屏幕,浏览器,网页高度宽度
- .NET Core 2.1 正式发布
- 一文搞懂JVM架构和运行时数据区,全网最新
- 数据装载服务器_操作事项_06
- mysql execution plan_MySQL Execution Plan--NOT IN查询
- 井电双控智能缴费管理系统、水井管理、报警管理、费用管理、实时查询、信息配置、模块配置、智能报表、水表、抄表、井电、电表、用水分析、水电、灌溉用水、绿化用水、农业用水、智慧水电、水利
- 华为y220t android版本升级,华为 Y220T(移动版)救砖教程 救砖包 刷回官方系统支持OTA升级...
- 能上QQ微信,打不开网页
- 我的第一个HTML5游戏——打地鼠总结及源码
- 扫码点餐外卖配送小程序开发功能
- 论文笔记:图像分割——ExFuse DFN
- 基于反射实现的一个观察者模板
- ssm+Vue计算机毕业设计学科竞赛赛场安排系统(程序+LW文档)
- Python学习三: 爬虫高级技巧 与 模拟实战练习
- 上海到深圳的长途搬家认识到了农业民族和航海民族的差异
- React实战精讲(React_TS/API)
- 正大国际期货:智星在线交易平台是什么?提供哪些交易执行模式和订单类型?