JAVA基础
文章平均质量分 80
深入理解Java
yzl_8877
这个作者很懒,什么都没留下…
展开
-
各种数据结构对比
这里先解释下时间复杂度, 下面讲的时间复杂度都是指的渐近时间复杂度。即随着问题规模趋向无穷大,需要花费的操作。O(1)表示一个常数, 跟问题规模无关。1. 数组优点: 查找快, 时间复杂度O(1),因为数组是一片连续的内存空间,数据的获取都是先计算内存地址,然后再加载对应内存地址的数据。数组的引用存储数组的第一个元素的内存地址,后面的元素通过第一个元素的地址然后加上偏移地址可以快速的定位到任意元素的内存地址, 然后取出数据。缺点:插入慢,时间复杂度O(n)。默认插入数组的尾部。如果需要插入某个指原创 2021-05-11 23:29:27 · 868 阅读 · 0 评论 -
HashMap--jdk1.8
package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.function.BiConsumer;import java.util.function..原创 2021-04-21 22:50:20 · 97 阅读 · 0 评论 -
HashSet源码分析
HashSet源码分析1. HashSet底层是使用HashMap实现的。2. 元素无序且不重复。3. set集合的元素都是map的key值, value都是标红的对象的引用3. 使用transient标明map,重写了序列化和反序列化方法,主要是为了防止序列化大量的null值。package java.util;import java.io.InvalidObjectException;public class HashSet<E> extends Abstrac原创 2021-04-18 23:21:15 · 158 阅读 · 0 评论 -
ArrayList与迭代器模式
ArrayList与迭代器模式潘威威 2017-08-09 08:26:32 4784 收藏 4分类专栏: Java8容器源码札记 24种设计模式 文章标签: arraylist源码分析 iterator-迭代器 java容器 迭代器版权本文主要讲解迭代器模式在ArrayList源码中的使用。迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象中的各个元素,而不用暴露这个对象的内部表示。在Java中,ArrayList的迭代器有两种:Iterator和ListIter..转载 2021-04-18 22:48:18 · 384 阅读 · 0 评论 -
Java集合分析--ArrayList
转自:https://blog.csdn.net/panweiwei1994/article/details/76760238ArrayList可以总结出以下几点:底层:ArrayList是List接口的大小可变数组的实现。是否允许null:ArrayList允许null元素。时间复杂度:size、isEmpty、get、set、iterator和listIterator方法都以固定时间运行,时间复杂度为O(1)。add和remove方法需要O(n)时间。与用于LinkedList实现的常数因子转载 2021-04-18 22:31:42 · 125 阅读 · 0 评论