
Java-集合
文章平均质量分 84
Java集合学习
笑虾
一壶泪,暗淡醇香味。
化作万樽与谁对?
忧举杯,乐举杯,地老天荒只一醉。
欲哭时,男儿无泪,千般相思苦。
杯中汇……
展开
-
Java 集合学习笔记:比较器 Comparable、Comparator
【代码】Java 集合学习笔记:比较器 Comparable、Comparator。原创 2022-11-21 12:24:05 · 192 阅读 · 0 评论 -
Java 集合学习笔记:Iterable、Iterator
笑虾:forEach 遍历中 remove 的BUG,及 Java8 的新推荐。java.lang.Iterable 可迭代java.util.Iterator 迭代器。原创 2022-10-03 11:51:19 · 613 阅读 · 0 评论 -
Java 集合学习笔记:Collection
除非你要定义的是一个包含重复元素的无序 collection。笑虾:Java 集合学习笔记:Collection。通常不直接实现这个接口,而是实现它的两个徒弟。笑虾:Java 集合学习笔记:Iterator。给徒子徒孙们立好了规矩。,它定义了一系列用来折腾这些。遍历中删除元素的求星。原创 2022-10-03 12:03:25 · 305 阅读 · 0 评论 -
Java 集合学习笔记:List
除了过气的 Vector 直接实现 List 接口,其他实现都是通过继承 AbstractList 实现的。基础增加的一批方法,都是针对。原创 2022-10-03 12:20:16 · 587 阅读 · 0 评论 -
Java 集合学习笔记:AbstractList
实现 equals 对当前列表与指定对象 o 中的元素,按顺序两两对比。和大多数的处理逻辑一至,分为 null 和 非null 两个分支。与 indexOf 相反,从后往前找。SubList 是对当前列表的片段引用。将指定范围内的元素,逐个删除。可以看到这里的返回值是。原创 2022-11-05 21:15:17 · 351 阅读 · 0 评论 -
Java 集合学习笔记:ArrayList
ArrayList 是 List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是非线程安全的。)List的数组实现。因为底层数据解构是数组,所以特点是连续内存空间,根据索引操作。优势在读,频繁写操作相对吃亏。有两个性能消耗点:2.1. 插入/删除时,当前元素之后的所有元素需要整体平移。2.2. 空间不足时的反复自动扩容。原创 2022-10-03 12:32:27 · 3723 阅读 · 0 评论 -
Java 集合学习笔记:LinkedList
1. 底层数组结构是 链表2. LinkedList 底层不是数组,为了实现 List 针对于索引的操作。它是通过遍历列表,然后累加一个 index 来模拟索引的。2.1. 因此频繁的使用索引是低效的。3. 链表的优势在于,明确拿到一个节点时,在其前后手入或删除节点比较高效。因为本质上只需要更新相关节点的 next、prev 指针。原创 2022-11-13 14:48:37 · 725 阅读 · 0 评论 -
Java 集合学习笔记:Set
一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。.在所有构造方法以及 add、equals 和 hashCode 方法的协定上,Set 接口还加入了其他规定,这些规定超出了从 Collection 接口所继承的内容。原创 2022-11-13 17:10:38 · 150 阅读 · 0 评论 -
Java 集合学习笔记:Map
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。 Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。原创 2022-11-17 21:11:53 · 1009 阅读 · 0 评论 -
Java 集合学习笔记:HashMap
基于Hash table的Map接口实现。实现了Map定义的所有方法,并允许key和value为null。(除了非线程安全和允许 null 之外,HashMap与Hashtable大致相同)这个类不保证map的顺序;尤其是,它不能保证顺序随时间的推移保持不变。这个实现为基本操作(get和put)提供了恒定时间的性能,假设hash函数将元素适当地分散到桶中。在集合视图上迭代所需的时间与HashMap实例的容量(桶的数量)加上它的大小(键-值映射的数量)成正比。原创 2022-11-22 23:53:08 · 395 阅读 · 0 评论 -
Java 集合学习笔记:HashMap - 迭代器
,current 才有几率非 null。如果该Spliterator为ORDERED,则操作将按遇到顺序对下一个元素执行。,则按遇到顺序执行操作。之前或中间,应该总是返回相同的结果。作为其他几个可拆分迭代器的基类,实现了公用的方法。,直到所有元素都处理完毕或该操作抛出异常。注意:是按哈希表拆分,并不理会桶中结点的个数。,8个特性每个特性占一位,可以组合。如果存在剩余元素,则对其执行给定操作。算出来的元素个数,肯定是不准确的。,无法实例化,所以只能作为其他类的。尝试拆分,如果可拆分,创建一个新的。原创 2022-12-24 22:00:59 · 2079 阅读 · 0 评论