一、Map<k,v>

Map是啥

  • 键和值一一对应的关系–》映射
  • 有一些集合中的元素就是一一对应的
  •     如:IP地址与主机名/身份证号与个人
    

特点

  • 键key是唯一的,值可以重复
  • key和value的数据类型可以不同
  • 一一对应
  • 通过键找对应的值
  • 双列集合(与collecion不同的地方)

Map用在哪

  • 元素关系为一一对应时

Map怎么用

Map的常用【实现类】

HashMap<k,v>:

  •  底层采用的**哈希表结构**,查找速度快![在这里插入图片描述](https://img-blog.csdnimg.cn/20201216100407386.png)
    
  •  存储顺序不能保证一致,**无序集合**
    

LinkedHashMap extends hashmap:

  •  底层**哈希表+链表结构**
    
  •  存储顺序可以**保证一致**,可预知的迭代顺序
    

map中的方法

put/get/contaionsKey/keyset/entryset

public V put(K key,V value)


可以直接放:返回null,即一个容器放出去后容器为空了
要替代:即key原来对应的那个被踢出来了,所以返回他

public V remove(Object key)


删除的是key和value一对
注意:此处map.remove返回的是Integer等包装类类型,如若不是:
用int:
倒是可以自动拆箱
但是若返回的是null,null不能给int,会抛出空指针异常
空可以赋值给包装类,但是不能赋值给空指针类型

public V get(Object key)

boolean containsKey(Objcet key)

  • 值存在,true,反之false

Map集合遍历键找值

创建Map集合对象并放入值

Map<String,Interger>map=new HashMap<>();
map.put("a”,222);//a是key

取出key值

Set<K>keySet();//存储到Set集合中

使用迭代器/增强for循环遍历set集合获取每一个key

java网课|Map线程相关推荐

  1. Java网课简易飞机大战

    因之前用unity做过飞机大战的小游戏,用的脚本是C#.现在上了几节网课,又用java做的简单功能的小游戏,再次记录一下.功能非常简单.鼠标控制飞机一定,子弹发射,敌机出现以及子弹和敌机的碰撞检测.爆 ...

  2. java网课|等待与唤醒线程池

    啥是等待与唤醒? 线程之间的通信 举个栗子(包子铺 生产者(包子铺)和消费者(吃货)都是一个线程类

  3. Java网课基础笔记(25)19-08-07

    目录 Mybatis入门程序 Dao开发方法 原始Dao开发方式 Mapper动态代理方式 Mybatis入门程序 1.Mybatis下载地址:https://github.com/mybatis/m ...

  4. Java网课基础笔记(31)19-08-13

    Action使用Servlet相关API 目录 Action使用Servlet相关API 解耦方式调用API(间接调用  了解) 耦合方式直接调用API 接口注入方式操作Servlet API(了解) ...

  5. Java网课基础笔记(20)19-08-02

    为了更好的学习Springmvc和mybatis整合开发方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用Springmvc.持久层使用mybatis实现. 需求:实现商品 ...

  6. Java网课资源分享

    作者:是瑶瑶公主吖 链接:https://www.nowcoder.com/discuss/544889 来源:牛客网 Java健康项目: 链接:https://pan.baidu.com/s/1xH ...

  7. java网课|Scanner

    P115 Scanner的概述及API文档的使用 SCANNER类的功能:实现键盘输入数据 看 包 看 构造方法 看 成员方法 引用类型是什么? ==>除基本类型以外的类 如何使用呢? 1.导包 ...

  8. Java网课笔记整理

    目录 1.继承 笔记 案例 2.多态 笔记 案例 3.抽象 笔记 案例 4.字符串 案例 5.StringBuilder 笔记 案例 6.集合基础 笔记 案例 1.继承 笔记 https://blog ...

  9. Java网课|apiscanner

    p114 api 什么是api 即现成的类,提供的类 如:string是已有类 Java.lang包中含有 从jdk中查找需要的类 Jdk api中查找 怎么找? 看包路径 看构造方法 看方法摘要 p ...

最新文章

  1. 总在说SpringBoot内置了tomcat启动,那它的原理你说的清楚吗?
  2. c++ opencv 照片清晰度_opencv新手学习————素描视频(C++)
  3. vim 变成只读了_Vim 强制保存只读类型文件的方法
  4. 我给媳妇解释设计模式:第一部分
  5. CXF+Spring+Tomcat简明示例
  6. .net runtime占用cpu_.net 中的StringBuilder和TextWriter区别
  7. matlab 解非齐次方程组,各位看一下为什么这里的LU解不出非齐次线性方程组?
  8. hdu 3549 最大流(EK实现)
  9. SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例
  10. CentOS 6.5源码编译安装MySQL 5.6
  11. Jupyter的使用与安装
  12. 2017电子设计大赛论文:滚球控制系统
  13. 机器之心深度研学社每周干货:2017年第13周
  14. 微信gif表情包在线编辑怎么做?
  15. 【视频】离职创业感悟
  16. Eureka自我保护机制原理及作用enable-self-preservation
  17. html 鼠标划过 ie导致白屏,win7系统IE浏览器网页出现白屏的解决方法
  18. Excel技巧之插入图表
  19. 天津大学软件学院 研究生学位申请的学术成果要求
  20. 加壳器第二部分,加壳器

热门文章

  1. 菜鸟也能学cocos2dx3.0 浅析刀塔传奇(下)
  2. 网络安全课程设计Java实现DES加密算法(可视化界面)代码+设计文档
  3. 3D目标检测-BEVFormer、BEVDepth
  4. 【AWS】一、如何在AWS免费撸一年的服务器
  5. Altium Designer 10 下载和安装破解教程
  6. was连接oracle rac集群,oracle 11g rac 集群操作命令
  7. 网易云音乐工程师,亲自揭晓评论实现技术!| 技术头条
  8. 编辑时英文出现大间隔
  9. 解决微信ios端+sendReq: not found
  10. 【codeforces 721A】One-dimensional Japanese Crossword