Map集合

2018-11-15  本文已影响8人  muyang_js的简书

Map集合

概述

Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对
Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:"光棍"
注意:
Map集合的数据结构值针对键有效,跟值无关
Collection集合的数据结构是针对元素有效

下面我们来了解Map集合的功能概述

添加功能

V put(K key,V value):添加元素。

删除功能

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

判断功能

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

长度功能

 int size():返回集合中的键值对的对数

获取功能

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

Map子类

HashMap

HashMap类概述

键是哈希表结构,可以保证键的唯一性

常用案例

 HashMap< String,String>
 HashMap< Integer,String>
 HashMap< String,Student>
 HashMap< Student,String>

 上面的也不是非要是学生对象,可以是你需求的对象

LinkedHashMap

概述

TreeMap

概述
键是红黑树结构,可以保证键的排序和唯一性

在输出结果中:HashMap会打印出{null=world, java=null, android=hello}
而在Hashtable中会报错
所以我们就能得出他们的区别

HashMap:线程不安全,效率高。允许null键和null值
Hashtable:线程安全,效率低。不允许null键和null值

Collections类

Collections类概述
针对集合进行操作的工具类,都是静态方法。

Collection和Collections的区别

Collection:是单列集合的顶层接口,有子接口List和Set。
Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方法

Collections成员方法

 public static < T> void sort(List list):排序 默认情况下是自然顺序。
 public static < T> int binarySearch(List< ?> list,T key):二分查找
 public static < T> T max(Collection< ?> coll):最大值
 public static void reverse(List< ?> list):反转
 public static void shuffle(List< ?> list):随机置换
上一篇下一篇

猜你喜欢

热点阅读