源码解析
FDargon
这个作者很懒,什么都没留下…
展开
-
关于Iterator接口和Iterable接口的有困惑的看过来~
所有的collection(list、Set)、Map都实现了Iterable接口,进而能够使用了Iterator()迭代器方法。首先搬源码Iterable接口public interface Iterable<T> { //定义了一个Iterator<T>迭代器类型的iterator()方法 Iterator<T> iterator(); ...原创 2018-03-22 14:40:54 · 598 阅读 · 0 评论 -
java Comparable 和Comparator详解及 区别(附代码)
https://blog.csdn.net/tolcf/article/details/52229068转载 2018-06-01 15:34:42 · 187 阅读 · 0 评论 -
Collections.sort()和Arrays.sort()排序算法选择
https://blog.csdn.net/timheath/article/details/68930482转载 2018-06-01 15:24:18 · 389 阅读 · 0 评论 -
源码解析之Throwable
Throwable 类是exceptions和error的父类。只有作为此类(或其某个子类)实例的对象才会由Java虚拟机抛出,或者可以由Java throw语句抛出。 同样,只有这个类或它的一个子类可以是catch子句中的参数类型。 由于java检查编译时异常的存在,Throwable和Throwable的任何子类(不是RuntimeException或Error的子类)均被视为检查异常。通常用...原创 2018-03-22 11:21:21 · 2040 阅读 · 0 评论 -
关于HashMap
1. HashMap中是如何进行散列的,hash的原理(前置知识点)关于这部分,我看到的一个知乎高亮胖胖的 解释非常深刻!hash的解释的链接源码中,计算hash值时,是这么写的:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (...原创 2018-03-25 21:02:57 · 671 阅读 · 0 评论 -
源码解析之LinkedList
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.SerializableLinkedList继承了AbstractSequentialList(双端链表),实现了L...原创 2018-03-22 22:32:38 · 296 阅读 · 0 评论 -
源码解析之ArrayList
我用的是jdk1.8ArrayList的底层实现是数组,因此与数组有许多相同的地方。可以根据下标查找到关键字,插入关键字可能需要后移其他元素(所以插入非常慢)。与数组不同的地方在于可以动态的分配内存。下面是ArrayList中的定义的字段: //定义ArrayList初始化大小 private static final int DEFAULT_CAPACITY = 10; /...原创 2018-03-22 16:38:59 · 208 阅读 · 0 评论