母婴策划案的网站建设,个人网站建设好之后怎么赚钱,微博营销的技巧有哪些,秦皇岛企业网站建设一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构#xff0c;其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字#xff08; Key #xff09;#xff0c;和关键字对应的称为值#xff0…一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字 Key 和关键字对应的称为值 Value 将其称之为 Key-value 的键值对所以模型会有两种 1. 纯 key 模型 比如 有一个英文词典快速查找一个单词是否在词典中 快速查找某个名字在不在通讯录中 2. Key-Value 模型 比如 ***统计文件中每个单词出现的次数统计结果是每个单词都有与其对应的次数 单词单词出现的次数 StringInteger。 ***梁山好汉的江湖绰号每个好汉都有自己的江湖绰号StringString 而 Map 中存储的就是 key-value 的键值对 Set 中只存储了 Key 。 二、Map
2.1Map简介 Map 是一个接口类该类没有继承自 Collection 该类中存储的是 K,V 结构的键值对并且 K 一定是唯一的不 能重复 。 2.2Map.EntryK,Y Map.EntryK, V 是 Map 内部实现的用来存放 key, value 键值对映射关系的内部类 该内部类中主要提供了key, value的获取 value 的设置以及 Key 的比较方式。 方法getKey——返回entry的Key getValue——返回entry的Value setValue—— 将键值对中的 value 替换为指定 value 注意 Map.EntryK,V 并没有提供设置 Key 的方法 2.3 Map 的常用方法 注意 1. Map 是一个接口不能直接实例化对象 如果 要实例化对象只能实例化其实现类 TreeMap 或者HashMap 2. Map 中存放键值对的 Key 是唯一的 value是可以重复的 3. 在 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 的区别 三、Set
3.1set的常用方法 boolean add (E e) ——添加元素但重复元素不会被添加成功 void clear () ——清空集合 boolean contains (Object o) ——判断 o 是否在集合中 IteratorE iterator () ——返回迭代器 boolean remove (Object o) ——删除集合中的 o int size() ——返回set 中元素的个数 boolean isEmpty() ——检测set 是否为空空返回 true 否则返回 false Object[] toArray() ——将set 中的元素转换为数组返回 boolean containsAll(Collection? c) ——集合c 中的元素是否在 set 中全部存在是返回 true 否则返回false boolean addAll(Collection? extends E c) ——将集合c中的元素添加到 set 中可以达到去重的效果 注意点 1. Set 是继承自 Collection 的一个接口类 2. Set 中只存储了 key 并且要求 key 一定要唯一 3. TreeSet 的底层是使用 Map 来实现的其使用 key 与 Object 的一个默认对象作为键值对插入到 Map 中的 4. Set 最大的功能就是对集合中的元素进行去重 5. 实现 Set 接口的常用类有 TreeSet 和 HashSet 还有一个 LinkedHashSet LinkedHashSet 是在 HashSet 的基础上维护了一个双向链表来记录元素的插入次序。 6. Set 中的 Key 不能修改如果要修改先将原来的删除掉然后再重新插入 7. TreeSet 中不能插入 null 的 key HashSet 可以。