day16笔记

来源:互联网 发布:cn域名 国外空间 编辑:程序博客网 时间:2024/05/22 00:39

Map简介

将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。

  Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如HashMap 类。



/让键是Student 让值是String

Map集合的数据结构只跟键有关
哈希表数据结构的 保证元素的唯一性,是靠元素重写 equals方法和HashCode 方法的,如果不重写就无法保证元素的唯一性
String  Integer 默认重写了equals方法和HashCode 方法的


A:LinkedHashMap的概述: Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序
B:LinkedHashMap的特点: 底层的数据结构是链表和哈希表 元素有序 并且唯一
 元素的有序性由链表数据结构保证 唯一性由 哈希表数据结构保证
Map集合的数据结构只和键有关



 c:判断功能
 boolean containsKey(Object key):判断集合是否包含指定的键
 boolean containsValue(Object value):判断集合是否包含指定的值
 boolean isEmpty():判断集合是否为空

 d:获取功能
Set<Map.Entry<K,V>> entrySet(): 返回一个键值对的Set集合
 V get(Object key):根据键获取值
 Set<K> keySet():获取集合中所有键的集合
 Collection<V> values():获取集合中所有值的集合

b:删除功能
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回




TreeMap:数据结构是红黑树 特点:元素唯一,而且还能对元素进行排序 :自然排序和比较器排序


TreeMap 不允许插入null键




用TreeMap 存储键是Integer 值是 String 类型的数据
TreeMap 底层数据结构是红黑树 它能够保证元素唯一,能够对元素进行排序,排序要有条件
 排序的元素必须实现Comparable接口 重写 CmcompareTo(T)


Test// A:案例演示: 需求:用户随便输入一段字符串 统计字符串中每个字符出现的次数
 aasfsdfpodfdfuiosjfiosudf9dfdfdsdfudddddsdouddd
 "aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)