对于add(int index,object o);该方法在特定位置插入元素,底层数组的元素都往后面移动一位,代价相当高,同理remove(int index)
对于ArrayList构造方法源代码详解:
public ArrayList(){
this(10);//调用子类带参数的构造方法
}
public ArrayList(int initialCapacity){
super();
if(initialCapacity<0){
//抛出异常
}
this.elementData=new Object(initialCapacity);//定义一个数组
}
由此可见,如果我们用默认的构造方法构建ArrayList对象,则底层会生成10个元素长度的一个数组
add(E)方法详解:
public boolean add(E e){
ensureCapacity(size+1);
elementData[size++]=e;
return true;
}
将制定的元素追加到list末尾,
public void ensureCapacity(int minCapacity){
modCount++;
int oldCapacity=elementData.length;
if(minCapacity>oldCapacity){
object oldData[]=elementData;
int newCapacity=(oldCapacity*3)/2 + 1;
if(newCapacity<minCapacity){
newCapacity=minCapacity;
}
elementData=Arrays.copyof(elementData,newCapacity);
}
}
由此可以看出,ensureCapacity用于扩展数组本身,如果增加的元素个数超过了10个,则ArrayList底层数组长度为 原数组的长度的1.5倍+1
分享到:
相关推荐
"C#上位机串口通信助手源代码详解" 本文档将对C#上位机串口通信助手源代码进行详细的分析和解释,旨在帮助读者更好地理解串口通信的实现机制。 首先,让我们来了解串口通信的基本概念。串口通信是一种常用的数据...
《二维码识别源代码详解》 二维码(Quick Response Code)作为一种高效的数据编码方式,在现代生活中得到了广泛应用,如商品追溯、信息传递、广告推广等。本文将深入解析二维码识别的源代码,帮助理解其工作原理和...
Java大学使用教程部分例题源代码是学习Java编程的重要资源,尤其对于初学者而言,它提供了实际编程实践的宝贵机会。这些源代码是由教师提供的,意味着它们已经过验证,是正确的,可以作为学习和理解Java语言特性的...
《学生管理系统Java源代码详解》 学生管理系统是计算机科学领域中常见的教学与实践项目,它主要目的是通过编程技术实现对学校学生信息的高效管理和查询。本文将深入解析一个基于Java语言开发的学生管理系统的源代码...
Java编程详解(微课版)源代码压缩包包含的是一系列与Java编程相关的教学资源,主要目的是为了辅助学习者深入理解和实践Java编程语言。在这个压缩包中,你将找到一个名为"48709-Java编程详解(微课版)-源代码"的...
【Java仿千千静听音乐播放器源代码详解】 该资源是一个基于Java编程语言实现的音乐播放器项目,旨在模仿著名的千千静听音乐播放器的功能。通过分析这个源代码,我们可以深入理解Java在多媒体应用开发中的应用,以及...
在本资源中,标题"**C#实例 含源代码 下载**"表明这是一个关于C#编程语言的实例集合,其中包含了源代码供学习者下载和研究。这通常意味着你可以找到一系列用C#编写的程序或者函数示例,用于演示各种编程概念和技术。...
【Java实战开发源代码详解】 Java作为一种广泛应用的高级编程语言,以其跨平台、面向对象的特点深受程序员喜爱。在“java实战开发源代码”这个主题中,我们主要关注的是实际项目中的编程实践,以及如何通过阅读和...
以下是一些基于该书籍源代码的Java知识点详解: 1. **Java基础语法**:Chap01至Chap09涵盖了Java的基础语法,包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符、流程控制(如if语句、switch语句...
【Java BBS论坛源代码详解】 在信息技术领域,Java是一种广泛应用的编程语言,尤其在构建Web应用程序方面表现卓越。本资源提供了一个基于Java实现的BBS(Bulletin Board System,电子公告板)论坛源代码,它包含了...
《C#语言实现的俄罗斯方块游戏源代码详解》 在编程领域,源代码是程序员的语言,通过阅读和理解源代码,我们可以深入了解程序的工作原理。本文将深入剖析一款基于C#语言开发的经典俄罗斯方块游戏的源代码,帮助读者...
**JDK1.6源代码详解** JDK(Java Development Kit)是Oracle公司提供的Java编程环境,包含了编译器、运行时环境、调试工具和其他实用工具。JDK1.6,也被称为Java SE 6,是Java历史上的一个重要版本,发布于2006年,...
《毕向东Java基础源代码详解》 这是一份源自传智播客,由资深讲师毕向东教授的Java培训课程的源代码集合。这份资源旨在帮助初学者深入理解Java编程语言的基础概念,通过实际的代码示例来提升学习效果。下面我们将...
【Java贪吃蛇源代码详解】 Java贪吃蛇游戏是一个经典的编程练习项目,它适合初学者,特别是对Java编程感兴趣的新手和菜鸟。这个项目旨在帮助开发者熟悉基本的编程概念,如控制台输入输出、循环、条件判断以及对象和...
**JAVA员工管理系统源代码详解** 本项目是一款基于JAVA语言开发的简单Windows桌面应用程序,主要针对初学者,旨在帮助他们理解J2SE(Java Standard Edition)的基础知识和应用。通过学习和分析这个源代码,开发者...
《俄罗斯方块Java源代码详解》 在编程领域,学习并理解经典的代码案例是提升技能的重要途径。"俄罗斯方块Java源代码"就是一个绝佳的学习素材,它不仅展示了基础的Java编程技术,还融合了游戏开发的基本逻辑。这篇...
### MyTestGeneric类详解 #### 类结构与功能概述 `MyTestGeneric` 类实现了一个简单的绘图程序。它包括一个主类 `MyTestGeneric` 和一个子类 `MyFrame99`,以及一个内部监听器类 `Monitor`。程序的功能是当用户在...
**JAVA语言程序设计源代码详解** Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)在1995年推出。它的设计目标是具有“一次编写,到处运行”的特性,这意味着编写的Java...
**JAVA AWT 俄罗斯方块源代码详解** Java AWT(Abstract Window Toolkit)是Java早期用于构建图形用户界面(GUI)的基础框架。这个标题提到的"JAVA AWT 俄罗斯方块源代码"是一份使用AWT库开发的经典游戏——俄罗斯...