![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合框架
tongdanping
知识,哪怕是知识的幻影,也会成为你的铠甲,保护你不被愚昧反噬。
展开
-
Java集合框架及其面试重点
目录目录一、集合框架概述二、面试重点1、List接口介绍Java的List,ArrayList与LinkedList的区别Array(数组)和ArrayList有何区别?什么时候更适合用Array?List是线程安全的吗?如果要线程安全要怎么做?怎么给List排序?通过Array.asList获得的List有何特点,使用时应该注意什么?List和Array之...原创 2018-03-10 12:05:28 · 545 阅读 · 0 评论 -
集合框架——HashTable和HashMap的区别
继承类不同HashTable继承Dictionary类,HashMap继承AbstractMap类线程安全级别不同HashTable是线程安全的类,每个public方法都有Synchronized修饰,HashMap不是线程安全的是否允许null的要求不同HashTable:key不允许为null,value不允许为nullHashMap:key允许为null,value允许为n...原创 2018-03-10 23:07:23 · 3018 阅读 · 0 评论 -
集合框架——TreeSet实现原理及源码分析
TreeSet是Set接口的子接口SortedSet的唯一的实现类,TreeSet对其中的元素进行排序。public class TreeSet<E>extends AbstractSet<E>implements NavigableSet<E>, Cloneable, Serializable可以看到TreeSet继承了AbstractSet并实现了Nav...原创 2018-03-11 15:57:54 · 764 阅读 · 0 评论 -
集合框架——ArrayList与LinkedList、Vector的区别
目录一、相同之处二、不同之处1、ArrayList与LinkedList区别2、ArrayList与Vector区别三、使用场景List接口是Collection接口下的子接口List中的元素是有序的,可以重复的,List接口的主要实现类有三个:ArrayList、LinkedList和Vector。一、相同之处都是List接口的实现类,因此他们具有List列表的共...原创 2018-03-11 22:23:22 · 372 阅读 · 0 评论 -
集合框架——Collection实现类的遍历方法与元素删除
目录一、Collection实现类的遍历方式1、循环加随机访问get(index)2、foreach循环3、迭代器4、LinkedList的pollFirst/pollLast和removeFirst/removeLast方法二、元素的删除一、Collection实现类的遍历方式Collection接口继承了Iterable接口,因此其子接口List、Set和Que...原创 2018-03-11 23:00:02 · 595 阅读 · 0 评论 -
集合框架——集合元素的排序
目录一、哪些实现类有排序功能二、list排序的实现三、set和map的排序实现1、set的排序2、map的排序、哪些实现类有排序功能集合框架的几个主要接口List、Set、Queue和Map中,只有list的实现类都有sort方法(实现了RadomAccess随机访问接口),而其他的只TreeSet(实现了SortedSet)和TreeMap(实现了SortedM...原创 2019-04-11 22:35:09 · 479 阅读 · 0 评论 -
集合框架——hashCode算法实现
目录一、hashCode算法实现二、HashMap中为什么数组的长度为2的幂次方三、HashMap 在计算bucket位置时,为什么使用 & 与运算代替模运算?四、自定义 HashMap 容量最好是多少?五、如何解决Hash冲突hashcode事一个int类型的数字,从Object的hashCode()方法的注释中可以看出hashcode主要是用于hashMap等类...原创 2019-04-16 17:12:02 · 3968 阅读 · 2 评论 -
集合框架——HashMap实现原理详解
目录一、HashMap实现原理1、底层数据结构2、put方法:3、扩容resize()方法4、删除remove()方法:二、关于HashMap的几个问题1、为什么HashMap不是线程安全的2、HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标?3、HashMap在JDK1.7和JDK1.8中有哪些不同?4、为什么...原创 2019-04-17 21:48:39 · 709 阅读 · 0 评论 -
集合框架——LinkedHashMap实现原理详解
我们已经讲解了HashMap的实现原理,LinkedHashMap是HashMap的子类,在其基础上实现了元素的排序功能,接下来对LinkedHashMap的实现进行一个了解。目录底层数据结构查询操作get()插入操作put()/putAll()删除remove()方法 底层数据结构 LinkedHashMap就是实现了LRU(Least Recent Use, 最近...原创 2019-04-18 15:41:10 · 579 阅读 · 0 评论