
JDK源码解析
JDK源码解析
sllin
这个作者很懒,什么都没留下…
展开
-
JDK1.8源码(十一)——java.util.TreeMap类
目录1、TreeMap 定义 2、字段定义 3、构造函数 4、添加元素 5、删除元素 6、查找元素 7、遍历元素 在前面几篇博客分别介绍了这样几种集合,基于数组实现的ArrayList 类,基于链表实现的LinkedList 类,基于散列表实现的HashMap 类,本篇博客我们来介绍另一种数据类型,基于树实现的TreeSet类。回到顶部1、TreeMap 定义 听名字就知道,TreeMap 是由Tree 和 Map 集合有关的,没错,TreeMap 是由红黑树实现的有.原创 2020-06-28 14:46:52 · 240 阅读 · 0 评论 -
JDK1.8源码(十)——java.util.LinkedHashSet类
目录1、LinkedHashSet 定义 2、构造函数 3、添加元素 4、删除元素 5、查找元素 6、遍历元素 同 HashSet 与 HashMap 的关系一样,本篇博客所介绍的 LinkedHashSet 和 LinkedHashMap 也是一致的。在 JDK 集合框架中,类似 Set 集合通常都是由对应的 Map 类集合来实现的(TreeSet 和 TreeMap 同理),这里很重要的一个理论就是:Set 类集合是不允许重复的,而 Map 类集合的 key 也是不允许重复的,所.原创 2020-06-28 14:45:53 · 167 阅读 · 0 评论 -
JDK1.8源码(九)——java.util.LinkedHashMap 类
目录1、LinkedHashMap 定义 2、字段属性 3、构造函数 4、添加元素 5、删除元素 6、查找元素 7、遍历元素 8、迭代器 9、总结 前面我们介绍了 Map 集合的一种典型实现HashMap,关于 HashMap 的特性,我们再来复习一遍: ①、基于JDK1.8的HashMap是由数组+链表+红黑树组成,相对于早期版本的 JDK HashMap 实现,新增了红黑树作为底层数据结构,在数据量较大且哈希碰撞较多时,能够极大的增加检索的效率。 ②、允...原创 2020-06-28 14:45:25 · 201 阅读 · 0 评论 -
JDK1.8源码(八)——java.util.HashSet 类
目录1、HashSet 定义 2、字段属性 3、构造函数 4、添加元素 5、删除元素 6、查找元素 7、遍历元素 在上一篇博客,我们介绍了 Map 集合的一种典型实现HashMap,在 JDK1.8 中,HashMap 是由 数组+链表+红黑树构成,相对于早期版本的 JDK HashMap 实现,新增了红黑树作为底层数据结构,在数据量较大且哈希碰撞较多时,能够极大的增加检索的效率。了解 HashMap 的具体实现后,我们再来介绍由 HashMap 作为底层数据结构实现的一种...原创 2020-06-28 14:42:00 · 132 阅读 · 0 评论 -
JDK1.8源码(七)——java.util.HashMap 类
目录1、哈希表 2、什么是 HashMap? 3、HashMap定义 4、字段属性 5、构造函数 6、确定哈希桶数组索引位置 7、添加元素 8、扩容机制 9、删除元素 10、查找元素 11、遍历元素 12、总结 本篇博客我们来介绍在 JDK1.8 中 HashMap 的源码实现,这也是最常用的一个集合。但是在介绍 HashMap 之前,我们先介绍什么是 Hash表。回到顶部1、哈希表 Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(.原创 2020-06-28 14:40:48 · 601 阅读 · 0 评论 -
JDK1.8源码(六)——java.util.LinkedList 类
目录1、LinkedList 定义 2、字段属性 3、构造函数 4、添加元素 ①、addFirst(E e) ②、addLast(Ee)和add(E e) ③、add(intindex,Eelement) ④、addAll(Collectionc) 5、删除元素 ①、remove()和removeFirst() ②、removeLast() ③、remove(intindex) ④、remove(Object o) ...原创 2020-06-28 14:39:18 · 136 阅读 · 0 评论 -
JDK1.8源码(五)——java.util.ArrayList 类
目录1、ArrayList 定义 2、字段属性 3、构造函数 4、添加元素 5、删除元素 ①、根据索引删除元素 ②、直接删除指定元素 6、修改元素 7、查找元素 ①、根据索引查找元素 ②、根据元素查找索引 8、遍历集合 ①、普通 for 循环遍历 ②、迭代器 iterator ③、迭代器的变种 forEach ④、迭代器ListIterator 9、SubList 10、size() 11、isEmpty()..原创 2020-06-28 14:38:03 · 383 阅读 · 0 评论 -
JDK1.8源码(四)——java.util.Arrays 类
目录1、asList 2、sort 3、binarySearch 4、copyOf 5、equals 和 deepEquals 6、fill 7、toString 和 deepToString java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用。回到顶部1、asList public static <T> List<T> asList(T.原创 2020-06-28 14:36:06 · 234 阅读 · 0 评论 -
JDK1.8源码(三)——java.lang.String 类
目录1、String 类的定义 2、字段属性 3、构造方法 4、equals(ObjectanObject) 方法 5、hashCode() 方法 6、charAt(int index) 方法 7、compareTo(String anotherString) 和compareToIgnoreCase(String str) 方法 8、concat(String str) 方法 9、indexOf(intch) 和indexOf(intch, intfromIndex) 方法...原创 2020-06-28 14:32:09 · 232 阅读 · 0 评论 -
JDK1.8源码(二)——java.lang.Integer 类
目录1、Integer 的声明 2、Integer 的主要属性 3、构造方法 Integer(int) Integer(String) 4、toString() toString(int i) toString(int i, int radix) 5、自动拆箱和装箱 ①、自动装箱 ②、自动拆箱 6、equals(Object obj)方法 7、hashCode() 方法 8、parseInt(String s) 和parseInt(String s, i...原创 2020-06-22 11:41:43 · 257 阅读 · 0 评论 -
JDK1.8源码(一)——java.lang.Object类
目录1、Object 类的结构图 2、 为什么java.lang包下的类不需要手动导入? 3、类构造器 4、equals 方法 5、getClass 方法 6、hashCode 方法 一、hashCode 要求 二、hashCode 编写指导: 7、toString 方法 8、notify()/notifyAll()/wait() 9、finalize 方法 10、registerNatives 方法 本系列博客将对JDK1.8版本的相关类从源码层次进行...原创 2020-06-22 11:39:55 · 197 阅读 · 0 评论