以前集合框架是面试的主要内容,但是现在因为考的太多,反而不会问太多,只要天南海北的说,说到面试官觉得你完全准备了解过,便不会再多问。这里有张自己画的图可以理解下。 ...
分类:
编程语言 时间:
2018-09-08 16:54:14
阅读次数:
148
HashTable是什么 HashTable跟HashMap一样,同样是链表散列的数据结构,从源码中我们可以看出,Hashtable 继承于Dictionary类,实现了Map, Cloneable,Serializable接口 Hashtable成员变量 Hashtable构造方法 Hashtab ...
分类:
编程语言 时间:
2018-09-05 21:49:14
阅读次数:
173
最后一个看不见了补充一下: ConcurrentHashMap:是线程安全的(基于lock实现的,同步的时候锁住的不是整个对象,而加了synchronized的是锁住了整个的对象),实现了Map接口,他是在hashMap的基础上,将数据分为很多个小的segment(分段锁,他继承了Reentrant ...
分类:
编程语言 时间:
2018-09-03 02:46:57
阅读次数:
196
前言:本文解决的问题 什么是红黑树 什么时候使用红黑树 红黑树插入元素时如何保持平衡 1 什么是红黑树 红黑树(Black red Tree) 是一棵自平衡树,每个节点都遵循以下四条: 所有节点只能是红色或者黑丝 根节点是黑色 只存在相邻的红色节点(即红色节点不能有红色的父节点或者红色的孩子) 任意 ...
分类:
其他好文 时间:
2018-09-01 21:54:17
阅读次数:
170
Java完整容器分类图 (图片来源:) 点线框代表接口,实线框代表普通的(具体的)类,空心白箭头的点线表示一个特定的类实现了一个接口,实心黑箭头表示某个类可以生成箭头所指向类的对象。 ArrayList与LinkedList的区别 ArrayList的底层数据结构是数组,它擅长于随机访问元素,使用下 ...
分类:
编程语言 时间:
2018-08-28 21:14:54
阅读次数:
207
哈希表 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 什么是哈 ...
分类:
其他好文 时间:
2018-08-27 18:34:41
阅读次数:
242
Arraylist集合 添加方法 1、add(E e) 向集合中添加元素 2、add(int index ,E e) 向集合的指定索引处添加元素 3、addAll(Collection< ? extends E> c) 添加集合 4、addAll(int index, Collection<? ex ...
分类:
编程语言 时间:
2018-08-26 18:33:24
阅读次数:
152
ArrayList有三个构造方法 ArrayList有三个常量 1、private transient Object[] elementData (数组); 2、private int size (元素个数) 1、ArrayList(int initialCapacity); 构造一个初始容量的集合 ...
分类:
编程语言 时间:
2018-08-26 16:39:34
阅读次数:
186
ArrayList简介 ArrayLIst是动态数组,用MSDN的说法就是Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小,要注意ArrayLIst并不是线程安全的。因此一般建议在单线程中使用Arraylist数组 ArrayLi ...
分类:
编程语言 时间:
2018-08-25 14:17:34
阅读次数:
188
一、概述。 Comparator和Comparable两者都属于集合框架的一部分,都是用来在对象之间进行比较的,但两者又有些许的不同,我们先通过一个例子来看一下他们的区别,然后再分别学习下它们的源码。 先来看一下Comparable的例子,定义实体类Student,实现Comparable,重写co ...
分类:
其他好文 时间:
2018-08-22 16:49:21
阅读次数:
200