导图社区 java开发编程API集框架总结思维导图
java开发编程API集框架总结思维导图,整理了的Map体系概述、Map接口和Collection接口有什么不同、Map集合中的方法、Map集合的遍历、Map.Entry原码解析的内容,快来看看吧!
网店详情页排版方法分享~包括中心页面组成,优质详情必备,详情页的排版参考方法。感兴趣的小伙伴可以看看哦~
喷绘色彩基础培训方案,内容涵盖色彩基础,喷绘写真。框架清晰,内容丰富,希望对小伙伴有所帮助哦~
酒窖营销计划方案,包括结果目标,过程目标。框架清晰,内容丰富,有需要的小伙伴可以看看哦~ 可供大家参考,借鉴,交流。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
java开发编程API集框架总结思维导图
Map体系
Map体系概述
将键映射到值的对象
一个映射不能包含重复的键
每个键最多只能映射到一个值
Map接口和Collection接口有什么不同:
Map集合:双列集合,键是唯一的,数据结构只针对键有效
Collection:单列集合,Set体系是具有唯一性的。数据类型针对集合中的元素有效
Map集合中的方法:
添加:
V put(K key, V value)
如果键是第一次添加,返回null
如果键不是第一次添加,就用新值替换之间的旧值,并且返回之前的旧值
删除:
void clear();移除所有的键值对元素
V reomove(Object key); 根据键,移除该键值对,并把值返回
判断:
boolean containsKey(Object key);判断集合中是否包含给定的键
boolean containsValue(Object value);判断集合中是否包含给定的值
boolean isEmpty();判断集合是否为空
获取:
Set< Map.Entry<K,V> > entrySet();返回 键值对对象的集合
V get(K key);根据键获取值
Set<T> keySet();获取双列集合中,所有键的集合
Collection<V> values();获取双列集合中,所有值的集合
长度:
int size();返回的是集合中键值对的个数
Map集合的遍历:
1、根据键找值
1、通过keySet()方法获取到所有的键
2、遍历第一步获取到的键的集合,拿到每一个键
3、获取到键后,调用get()方法,找到其对应的值
2、获取键值对集合,然后从中获取键和值
1、通过entrySet()方法拿到所有的 键值对对象 的集合
2、遍历第一步获取到的键值对对象的集合,拿到每一对键值对对象
3、获取到键值对对象后,调用getKey(),getValue()方法,找到其对应的键和值
Map.Entry原码解析:
1、Entry<K,V>其实是 Map.Entry<K,V>的一个子类
2、Entry<K,V>其实是一个键值对对象,Map是一个接口,Entry是Map接口中的接口。(内部接口)
HashMap和Hashtable的区别(面试题):
Hashtable(注意t是小写的):JDK1.0以后的,线程安全,效率低。不能存null值和null键。
HashMap: JDK1.2以后的,线程不安全的,效率高。可以存null值和null键。
(加一句:)这两个类也有共同点,他们都是双列集合,底层都是哈希算法。
LinkedHashMap类:
它是HashMap的子类,底层数据结构是链表,可以保证元素的存取顺序是一致
TreeMap类
底层的数据结构是二叉树,从而保证键的唯一性, 用法跟TreeSet基本一致,只不过它是双列集合。
了解:
Hashtable类实现了Map接口,它还有一个子类 Properties,主要用来存储字符串类型的键和值
Collections集合工具类中的方法:
sort(List list);对给定集合进行排序
binarySearch(List list, Oject obj);二分查找
max(Collection coll);求最大值
reverse(List list);反转
shuffle(List list);随机置换。(相当于“洗牌”)
Collections工具类中全是静态方法,这五个方法中,只有max() 的参数是Collection集合,其它都是对List体系进行排序
泛型:
固定下边界(向上限定)
? super E E类或者E的父类
固定上边界(向下限定)
? extends E E类或者E的子类