上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 27 下一页
摘要: TreeSet 是 Set 集合的红黑树实现,但其内部并没有具体的逻辑,而是直接使用 TreeMap 对象实现。我们先来看看 TreeSet 的定义。 可以看到 TreeSet 实现了 NavigableSet 接口,而 NavigableSet 接口又继承了 接口。SortedSet 接口又继承了 阅读全文
posted @ 2019-08-28 21:10 陈树义 阅读(611) 评论(0) 推荐(0)
摘要: LinkedHashSet 继承了 HashSet,在此基础上维护了元素的插入顺序。 原理 LinkedHashSet 的源码非常简单,只有简单的四4个构造方法。 但我们不是说 HashSet 还维护了元素的插入顺序么?那这部分代码写在哪里呢? 这里我们要注意一个细节,即 LinkedHashSet 阅读全文
posted @ 2019-08-28 21:09 陈树义 阅读(452) 评论(0) 推荐(1)
摘要: HashSet 是 Set 集合的哈希实现,其继承了 AbstractSet 抽象类,并实现了 Set 接口。 原理 为了深入理解 HashSet 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 从类成员变量我们可以知道,HashSet 内部使用 HashMap 存储, 阅读全文
posted @ 2019-08-28 21:08 陈树义 阅读(630) 评论(0) 推荐(1)
摘要: Stack 是先进后出的栈结构,其并不直接实现具体的逻辑,而是通过继承 Vector 类,调用 Vector 类的方法实现。 核心方法 Stack 类代码非常简单,其有 3 个核心方法:push、pop、peek。 push 可以看到 push 方法直接调用 Vector 的 addElement 阅读全文
posted @ 2019-08-26 22:54 陈树义 阅读(499) 评论(1) 推荐(1)
摘要: Vector 的底层实现以及结构与 ArrayList 完全相同,只是在某一些细节上会有所不同。这些细节主要有: 线程安全 扩容大小 线程安全 我们知道 ArrayList 是线程不安全的,只能在单线程环境下使用。而 Vector 则是线程安全的,那么其实怎么实现的呢? 其实 Vector 的实现很 阅读全文
posted @ 2019-08-26 22:53 陈树义 阅读(545) 评论(0) 推荐(0)
摘要: LinkedList 是链表的经典实现,其底层采用链表节点的方式实现。 从类继承结构图可以看到,LinkedList 不仅实现了 List 接口,还实现了 Deque 双向队列接口。 原理 为了深入理解 LinkedList 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变 阅读全文
posted @ 2019-08-26 22:53 陈树义 阅读(702) 评论(0) 推荐(1)
摘要: ArrayList 是 List 集合的列表经典实现,其底层采用定长数组实现,可以根据集合大小进行自动扩容。 原理 为了深入理解 ArrayList 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 构造方法 ArrayList 一共有 3 个构造方法: 从第一个构造方法 阅读全文
posted @ 2019-08-26 08:52 陈树义 阅读(1147) 评论(0) 推荐(5)
摘要: 集合系列(一):集合框架概述 Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及继承结构非常有必要。总的来说,Java 容器可以划分为 4 个部分: List 集合 Set 集合 Queue 集合 Map 集合 除了上面 4 种集合之外,还有一个专门的工具类: 工具 阅读全文
posted @ 2019-08-23 23:49 陈树义 阅读(2215) 评论(3) 推荐(4)
摘要: 集合可以说是学习 Java 中最重要的一块知识点了,无论做任何业务系统,集合总是最为基础的那块 API。我第一次接触集合,是在我大三的时候,那时候去面试,面试官问我:你了解过集合吗?可惜那时候没什么项目经验,所以基本没有了解过,因此也错失了机会。 到了现在,我已经工作了5年了,也做过了大大小小十几个 阅读全文
posted @ 2019-08-23 09:06 陈树义 阅读(2938) 评论(4) 推荐(9)
摘要: 近日,华为轮值董事长徐直军撰写了《关于公司高端精英类、软件类人才面试方法调整的建议》。其中重点讲到:软件类人才面试要以考察软件工程能力与编程能力,识别出真正的软件开发与设计高手。文章也给出了具体的考核方式: 应聘人员首先应该进行网上编程,时间 90 分钟,网上编程符合要求的进入面试环节。 在网上编程 阅读全文
posted @ 2019-05-08 09:52 陈树义 阅读(2165) 评论(2) 推荐(3)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 27 下一页