ArrayList 是一个构建在数组之上的 List 实现,它可以在我们 添加/删除 元素时动态的增长和收缩,我们可以通过索引来访问元素:
- 随机访问时间复杂度为 O(1) 次
- 添加一个元素的均摊时间复杂度为 O(1)
- 插入/删除元素的时间复杂度为 O(n)
- 对于未排序的数组,搜索需要 O(n) 时间,已排序的,搜索需要 O(log n)时间
大约 4 分钟
ArrayList 是一个构建在数组之上的 List 实现,它可以在我们 添加/删除 元素时动态的增长和收缩,我们可以通过索引来访问元素:
LinkedList 是 List 和 Deque 接口的双向链表实现。它实现所有可选的 list作并允许所有元素(包括 null)。
了解菱形运算符,以及泛型和 Collection API 演变。
Java中的比较很容易,但是当使用自定义类型或者尝试比较不直接可比的对象时,我们需要使用比较策略。
方法有两个,使用 Comparator 或 Comparable 接口。
JDK 5.0 引入了 Java 泛型,旨在减少错误并在类型上添加额外的抽象层。
本节探讨另一种集合数据结构,HashSet,最流行的 Set 实现之一。
本节探讨另一种集合数据结构,HashMap,了解它内部是如何工作的。
本节学习如何使用核心 Java 库、Guava 和 Apache Commons Collections 在 Array 和 List 之间进行转换。