Java初级篇——Map集合

这篇博客介绍了Java中的Map集合,包括HashMap和TreeMap的使用。HashMap是基于散列表的数据结构,允许key-value对的增删改查操作,key无序且不可重复,value无序但可重复。TreeMap则是自然排序的Map实现,key需要实现Comparable接口。文中还提到了Map集合在存储元素时的选择,以及不同集合类型的适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map集合

映射 通过某一个key可以直接定位到一个value值

存储的方式以 键值对 存储 key-value
key无序无重复 value无序可重复
key无序还是一样,指的是存入顺序与取得顺序不一致
key无重复当然指的是 元素不能一致

map基本使用

  • HashMap
  • TreeMap
  • Properties

HashMap

  1. 包 java.util
  2. 如何创建对象
  3. 基本方法
    增删改查
    增put(key,value) 存放一组映射关系 key-value
    1.key存储的顺序与取得顺序不同
    2.不同的key可以存储相同的value
    3.key若有相同的 则将 原有的value覆盖而不是拒绝存入(跟set刚好相反)
    删E = remove(key);
    改put(key,value1) put(key,value2)
    replace(key,newValue)
    查E = get(key)
    遍历map集合? key不一定什么样
    获取到所有的key 遍历key 通过key获取value
    Set = keySet()获取全部的key
    Set = entrySet();
    size();
  4. 除了上述几个常用的方法外 其他API中提供的方法
    clear containsKey(key) containsValue(value)
    getOrDefault(key,defaultValue);如果key存在就返回对应的value 若没有找到则返回默认值
    isEmpty()
    putAll(map)
    putIfAbsent(key,value);//如果key不存在才向集合内添加 如果key存在就不添加啦
  5. map集合在什么情形下用?
  1. 想要存储一组元素
    数组 or 集合 如果存储的元素以后长度不变用数组 如果长度以后不确定 用集合
  2. 如果发现长度以后不确定—>集合
    List Set Map
    List家族有序的 存储有顺序用这个
    ArrayList 更适合遍历轮询
    LinkedList 更适合插入和删除
    Stack LIFO
    Set家族无重复 存储元素希望自动去掉重复元素用这个
    Hash 性能更高
    Tree 希望存进去的元素自动去重复 同时还能自动排序
    Map家族k-v 通过唯一的k快速找寻v用这个
    Hash 性能更高
    Tree 希望存进去的元素key自动排序
  1. HashMap底层的数据结构存储
    散列表的形式 数组+链表
    Person对象存入HashMap中? 可以
    hashCode方法---->不同的对象 可以产生相同的hashCode码的
    不同的hashCode码–>不同的对象
    hash结构

TreeMap

自然有序 按照Unicode编码自然有序
map集合中的key需要可比较的 key的对象需要实现Comparable接口

  1. java.util包
  2. 构造方法
    无参数 带map参数
  3. 常用方法
    put get remove replace size
  4. 底层数据结构的存储
    红黑二叉树

阅读更多

三连博主,每天分享一个编程小技巧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值