前言
前面给小伙伴们,分享了集合框架的List、Set接口,接下来就是集合框架的最后一个Map接口了。
Map接口
Map是一个key-value的形式存在的,key不可以重复,并且只能关联一个value。
常用方法
put(Key,value);//将一组键值对放入Map中。
get(Key);//从Map中将key的value拿出来。
containsKey(Object Key); //是否包含某个元素。通过配合get和put方法一起使用,来实现匹配并修改Map中的元素。
HashMap
基于哈希表的Map接口的实现。此实现提供了所有可选的映射操作,并允许使用null值和null键。(除了不同步和允许使用null之外,HashMap类与Hashtable大致相同。)此类不保证映射顺序,特别它不保证该顺序恒久不变。
Hashtable
此类实现哈希表,该哈希表将将键映射到相应的值。任何非null对象都可以用作键或值。
Hashtable和HashMap的区别
Hashtable:键、值都不允许null,线程安全,效率低
HashMap:键允许一个null,线程不安全,效率高
TreeMap
TreeMap实现SortedMap接口基于红黑树的实现。此类保证了映射按照升序顺序排列关键字,根据使用的构造方法,可能按照键的类的自然排序(参考Compartable),或者
按照创建时提供的比较器进行排序。
Map的遍历
如果只是获取key,或者value,推荐使用keySet或者values方式;
如果同时需要key和value推荐使用entrySet;
如果需要在遍历过程中删除元素推荐使用Iterator;
如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中。
总结
Java的集合框架,我就给小伙伴们分享到这里了。希望对小伙伴们的学习有帮助。