数据结构 Map和Set/搜索树/内部类/哈希表

本文介绍了Java中的Map和Set数据结构,包括Map.Entry接口,Map和Set的常用方法及注意事项。通过实战练习,如统计数据频率、数据去重和查找重复数据,展示了哈希表在解决实际问题中的高效性,强调在理想情况下,哈希表操作的时间复杂度为O(1)。
摘要由CSDN通过智能技术生成

Map和Set

Map和set是一种专门用来 进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。
Map和Set是一种适合 动态查找的集合容器。

1.模型

搜索的数据称为关键字(Key),和关键字对应的称为值(Value)
1. 纯 key 模型
2. Key-Value 模型
Map中存储的就是 key-value的键值对, Set中只存储了 Key

2.关于Map的介绍

2.1Map.Entry<K, V>

2.2Map的常用方法

2.3Map的注意事项

1. Map是一个 接口类,没有继承自Collection, 不能直接实例化对象,如果 要实例化对象只能实例化其实现类TreeMap或者HashMap
2. Map中存放键值对的 Key是唯一的,value是可以重复的
3. 在Map中插入键值对时, 类TreeMap的key不能为空,否则就会抛NullPointerException异常,但是value可以为空;类HashMap的key和value都可为空
4. Map中的Key可以全部分离出来,存储到Set中来进行访问(因为Key不能重复)。
5. Map中的value可以全部分离出来,存储在Collection的任何一个子集合中(value可能有重复)。
6. Map中键值对的Key不能直接修改,value可以修改,如果要修改key,只能先将该key删除掉,然后再来进行重新插入。
7. TreeMap和HashMap的区别
 hashmap存储元素的时候,不是按照存储顺序进行打印的,是根据哈希函数来存储的

3.关于Set的介绍

3.1Set的常用方法

3.2Set的注意事项

1.Set是 继承自Collection的接口类
2.Set中只存储了key,并且要求 key一定要唯一
3.Set最大的功能就是 对集合中的元素进行去重
4.实现Set接口的 常用类有TreeSet和HashSet,还有一个LinkedHashSet
5.Set中的Key不能修改,如果要修改,先将原来的删除掉,然后再重新插入
6.Set中 不能插入null的key
7.TreeSet和HashSet的区别

4.做题(练习题+面试题)

1.给定1w个数据,统计每个数据出现的次数

2.将1w个数据中的数据去重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值