网站首页 站内搜索

搜索结果

查询Tags标签: elementData,共有 131条记录
  • ConcurrentModificationException异常原因和解决方法

    ConcurrentModificationException异常原因和解决方法首先看一下一个例子举出 ConcurrentModificationException 的出现场景: public static void main(String[] args) {List<Integer> list = new ArrayList<Integer>(){{add(1);add(2);add(3);}};Iterator<…

    2022/9/14 23:20:37 人评论 次浏览
  • Iterator设计模式

    迭代器设计模式 用集合类实现Aggregate接口,并实现其iterator方法,生成特定的迭代器对象,但返回时返回为Iterator类型,以此来抽象编程,实现解耦合的目的。 类图: 当使用不同的集合实现类时,可以使用通用的代码,因为是面向接口编程,在循环中只使用了迭代器接口中的…

    2022/8/24 6:53:03 人评论 次浏览
  • ArrayList源码深度剖析,从最基本的扩容原理,到魔幻的迭代器和fast-fail机制,你想要的这都有!!!

    ArrayList源码深度剖析 本篇文章主要跟大家分析一下ArrayList的源代码。阅读本文你首先得对ArrayList有一些基本的了解,至少使用过它。如果你对ArrayList的一些基本使用还不太熟悉或者在阅读本文的时候感觉有点困难,你可以先阅读这篇文章ArrayList设计与实现,自己动手写…

    2022/7/8 14:21:25 人评论 次浏览
  • 数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!

    数组容器(ArrayList)设计与Java实现 本篇文章主要跟大家介绍我们最常使用的一种容器ArrayList、Vector的原理,并且自己使用Java实现自己的数组容器MyArrayList,让自己写的容器能像ArrayList那样工作。在本篇文章当中首先介绍ArrayList的一些基本功能,然后去分析我们自己…

    2022/7/7 1:20:17 人评论 次浏览
  • ArrayList源码解析 基于JDK1.8

    1.问题产生原因 最近在写leetcode的题目https://leetcode.cn/problems/subsets/时,在评论区看到了一种解法,其中出现了 List<Integer> newNumber = new ArrayList<>(result); //result为List<Integer>类型的代码语句,一般来说ArrayList的初始化为 Li…

    2022/7/4 14:20:18 人评论 次浏览
  • ArrayList分析2 :Itr、ListIterator以及SubList中的坑

    ArrayList分析2 : Itr、ListIterator以及SubList中的坑 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/16409137.html 一.不论ListIterator还是SubList,均是对ArrayList维护的数组进行操作 首先我得说下ListIterator是什么,ListIterator 与Iterator均是迭代器接口…

    2022/7/2 23:25:02 人评论 次浏览
  • 18_Java集合ArrayList

    ArrayList 集合可以理解为 存储引用类型元素 的数据容器,元素类型不限,但可以通过 指定类型参数 限制可以存储的数据类型。 常用方法增添元素// 在末尾添加元素 public boolean add(E e) // 在指定位置插入元素 public void add(int index, E element)删除元素// 删除指…

    2022/6/8 1:20:09 人评论 次浏览
  • ArrayList源码分析(一)

    这篇blog进行ArrayList源码的相关分析,首先看看开头部分代码public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable {@java.io.Serial//序列化uidprivate static final long serialVe…

    2022/5/4 20:13:01 人评论 次浏览
  • ArrayList 源码分析

    ArrayList 原理ArrayList 是基于数组来实现的 数组长度是固定的,java 中的数组都是定长数组,比如数组大小设置为20,此时你不停的往 ArrayList 里面塞入数据,此时元素超过20以后就会自动扩容,就会用一个更大的数组,把以前的数组拷贝到新的数组里面去ArrayList的优缺点…

    2022/4/30 17:12:56 人评论 次浏览
  • Java集合之ArrayList源码分析

    一、概述 ArrayList是一种变长的集合类,基于定长数组实现。ArrayList允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。另外,由于ArrayList底层基于数组实现,所以其可以保证在 O(1) 复杂度下完成随…

    2022/4/25 17:12:37 人评论 次浏览
  • ArrayList源码解析

    1.无参构造方法//默认初始长度private static final int DEFAULT_CAPACITY = 10;//初始空数组private static final Object[] EMPTY_ELEMENTDATA = {};//共享空数组 和 EMPTY_ELEMENTDATA 区分用来查看扩容多少private static final Object[] DEFAULTCAPACITY_EMPTY_ELEME…

    2022/4/14 1:14:22 人评论 次浏览
  • Vector源码解读

    1.背景 阅读源码是提高编程技能的有效方式... 面试中也经常问到源码相关的问题..... 2.源码解读 在解读Vector时大家可以先解读ArrayList,因为这个两个的逻辑几乎是一样的.... ArrayList源码解读:https://www.cnblogs.com/newAndHui/p/16101626.html 区别在于 1.Vector的很…

    2022/4/5 14:19:19 人评论 次浏览
  • java中的fast-fail机制

    概念 fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。分析 先看一个代码:1 public class Test {2 private static List<Integer> list = new ArrayList<>();3 public …

    2022/3/28 11:53:03 人评论 次浏览
  • ArrayList源码分析

    文章目录 ArrayList源码分析1、底层原理2、构造方法3、增 - - add方法4、删 - - remove方法5、查 - - get 方法6、改 - - set方法7、clone方法8、扩容总结ArrayList源码分析 1、底层原理 底层:基于数组实现List接口实现增删查改操作,实现RandomAccess随机访问接口,实现…

    2022/2/25 17:22:21 人评论 次浏览
  • ArrayList扩容源码分析

    ArrayList扩容源码分析 结论实际是维护了一个Object类型的数组(transient Object[] elementData) transient表示瞬时,表示该属性不会被序列化创建ArrayList时,调用无参构造时 初始elementData容量为0,第一次添加时,扩容至10 如果需要再次扩容时,则扩容为1.5倍创建A…

    2022/2/23 11:52:24 人评论 次浏览
共131记录«上一页1234...9下一页»
扫一扫关注最新编程教程