黑马程序员技术交流社区
标题:
关于Map集合的总结
[打印本页]
作者:
HARRY_yFd0S
时间:
2016-9-9 14:52
标题:
关于Map集合的总结
1.Map集合:
1.双列集合. 存储时是以键值对的形式存储的 key : value
Map集合中的所有特点都是针对键的,与值无关!
2.Map集合与Set集合的关系:
Set集合的底层是由Map集合实现的!
HashSet集合是由HashMap实现的
TreeSet是由TreeMap实现的.
3.Map中的常用方法:
增:
put(key,value): 返回的是被覆盖的值.
删:
remove(key): 根据键删除元素.
clear(): 清空集合!
改:
put(key,value)
查:
判断功能:
containsKey(key):判断集合中是否包含指定的key
containsValue(value): 判断集合中是否包含指定的value.
注意: Map中没有contains方法!
isEmpty(): 判断集合是否为空!
长度:
size(): 返回集合的长度.
获取功能:
values(): 把Map集合中的所有value存储到一个Collection集合中,并返回该Collection集合!
get(key): 根据key获取对应的value
keySet(): 把Map集合中的所有key封装到一个Set集合中,并返回该Set集合!返回值是Set类型
entrySet(): 把集合中的键值对封装成键值对对象,并封装成一个Set集合,返回该Set集合.
4.Map集合的遍历:
1.通过keySet方法得到所有的key. 遍历这个Set集合, 得到每一个key, 再通过get(key)方法得到每一个key对应的值.
2.通过entrySet方法得到Entry对象的Set集合,遍历这个Set集合,得到每一个Entry对象,
再通过Entry对象中的getKey()方法得到key. 通过getValue()方法得到值.
5.HashMap集合:
存储元素时, key需要重写hashCode方法和equals方法!
6.LinkedHashMap集合(了解):
特点: 可以保证怎么存就怎么取!
7.TreeMap集合:
特点:
可以对集合中的key进行排序.
1.让key对象实现Comparable接口,并重写compareTo方法(自然排序)
2.从构造方法传入一个Comparator子类对象,按照比较器的方式对key进行排序(比较器排序)
8.HashMap和Hashtable的区别:
1.共同点:
底层都是hash算法结构
都是双列集合
2.区别:
1.HashMap是线程不安全的,效率高!从JDK1.2出现的.
Hashtable是线程安全的,效率低,从JDK1.0的时候出现的
2.HashMap可以存储null键和null值
Hashtable不可以存储null键和null值.
2.Collections工具类:
1.常用方法:
sort(List): 对集合中的内容进行排序 (掌握)
binarySearch(List,key): 二分查找 (了解)
max(List): 获取集合中的最大值 (了解)
reverse(List): 对集合中的内容进行反转 (掌握)
shuffle(List): 随机置换集合中的元素位置.(了解)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2