黑马程序员—javaSE—Mep集合

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

一、Map集合
1、Map集合概述和特点
Map : 双列集合的顶层接口
HashMap
键特点唯一无序。
TreeMap
键特点唯一且可实现排序。

    a. 双列集合数据结构针对键有效
    b. Map集合键唯一,值可重复

2、Map集合的功能概述
    V put(K key, V value)
        -- 如果键不存在,添加,返回null
        -- 如果键存在,把该键对应的值替换,返回被替换的值

    删除:
        clear() -- 清空
        V remove(Ojbect key) -- 根据键删除键值对对象

    判断:
        boolean containsKey(Object key) -- 判断是否包含指定的键
        boolean containsValue(Object value) -- 判断是否包含指定的值
        boolean isEmpty() -- 判断是否为空

    获取:
        Collection<V> values() -- 返回所有值的集合
        Set<K> keySet() -- 返回所有键的集合

3、Map集合的遍历之键找值
    a. 获取所有键的集合keySet()
    b. 遍历键的集合获取到每一个键,通过集合提供的键获取值 -- V get(K key)

4、Map集合的遍历之键值对对象找键和值
    a. 获取键值对映射关系(Map.Entry)集合 -- Set map.entrySet();
    b. 遍历键值对映射关系(Map.Entry)集合,获取到每一对映射关系(每一对元素)
    c. 通过Map.Entry的获取键和值的功能,来获取键和值。
        getKey()
        getValue()

5、Map集合的遍历之键值对对象找键和值源码分析

二、Map集合两个子类:HashMap和TreeMap
1、HashMap集合键是Student值是String的案例
HashMap键的位置存储自定义元素,想保证键唯一,依赖元素所属类的hashCode() 和 equals()

2、LinkedHashMap的概述和使用
    HashSet
        LinkedHashSet 唯一,存取有序

    HashMap
        LinkedHashMap 键唯一,元素存取有序


3、TreeMap集合键是Student值是String的案例

    TreeMap集合键存储自定义对象,保证键唯一且实现排序:
        自然顺序
        比较器顺序

4、练习 - 统计字符串中每个字符出现的次数

5、练习 - 集合嵌套之HashMap嵌套HashMap

6、HashMap和Hashtable的区别(面试题)
    HashMap允许使用 null 值和 null 键。线程不同步,效率高。
    Hashtable不允许使用 null 值和 null 键。线程同步,效率低。

三、Collections工具类
1、Collections工具类的概述和常见方法讲解
void sort(List list) – 排序
int binarySearch(List list, T key) – 二分查找
T max(Collection coll) – 最大值
T min(Collection coll) – 最小值
void reverse(List list) – 反转
void shuffle(List list) – 随即置换

    补充面试题:
        Collection和Collections的区别;
        Collection是单列集合的顶层接口,里面定义了单列集合的共性内容。
        Collections是操作集合的工具类,里面提供了一些查找,排序等等的常用集合功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值