Java中ArrayList集合
来源:互联网 发布:淘宝卖家7天不发货 编辑:程序博客网 时间:2024/06/17 07:24
一、ArrayList介绍
1.ArrayList继承关系
2.定义
public class ArrayList<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, Serializable
3.简介
1. ArrayList是一个可变数组,与Java中数组相比,它的容量是动态增长的,它继承自AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。2. ArrayList继承AbstractList,实现了List,提供了对集合元素进行增、删、改、查等操作的方法。3. ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。4. ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。5. ArrayList 实现java.io.Serializable接口,即ArrayList支持序列化,能通过序列化去传输。6. 与Vector的不同之处在于,ArrayList的相关操作不是同步的,也就是说ArrayList的相关操作是线程不安全的,建议在单线程中使用。
二、ArrayList构造方法
- 除Connection接口规范的建议的两个构造方法之外,还有一个指定初始容量的构造方法
三、ArrayList中的方法
- 除了实现List 接口之外,该类还提供了一些操纵内部数组elementData大小的方法
四、ArrayList数据结构
ArrayList中包含两个重要变量
1.elementData
elementData是ArrayList中存储数据的Object[],它保存添加到ArrayList中的元素,elementData实现了一个动态数组,我们可以用构造函数ArrayList(int initialCapacity)创建ArrayList对象并指定容量为initialCapacity,如果用构造函数ArrayList()创建ArrayList对象,默认的容量为10;
2.size
1. size是ArrayList的实际容量;
2. 由于ArrayList实现的是动态数组的效果,所以数组的容量是可以动态增长的,每次添加元素的时候都会判断添加后的容量是否超出现有容量,如果超出现有容量则容量会进行自动增长,在不同版本的JDK中具体增长方式也有所不同,例如在JDK1.8中,具体增长方式:新的容量=原容量+(原容量>>1);
五、ArrayList遍历方式
1.迭代器遍历
List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); Iterator<String> it=list.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
2.随机访问遍历
List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); for(int i=0;i<list.size();i++){ System.err.println(list.get(i)); }
3.for-each循环遍历
List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); for (String string : list) { System.out.println(string); }
阅读全文
1 0
- Java中ArrayList集合
- Java集合中ArrayList的实现原理
- C#中ArrayList集合
- Java集合之ArrayList
- 《java集合框架---------ArrayList》
- java集合之ArrayList
- Java 集合框架-ArrayList
- Java集合之ArrayList
- java 集合-----------ArrayList
- java集合之ArrayList
- java集合之arrayList
- java集合(ArrayList)
- java集合(ArrayList练习)
- Java集合之ArrayList
- java集合类ArrayList
- 【Java】ArrayList集合容器
- Java集合框架:ArrayList
- 02.Java 集合 - ArrayList
- 系统调用和库函数的区别
- 高德地图定位及导航开发流程
- HDU-1217-Arbitrage
- Java中的内存处理机制和final、static、final static总结
- 哈夫曼树的构造和编码
- Java中ArrayList集合
- 矩乘dp 总结
- Java学习笔记(七)——继承
- nodejs 实践:express 最佳实践(二) 中间件
- Makefile中的-Wall -O2 -Os -g等选项介绍
- Kafka (一) 概述
- 优先队列
- JavaScript常用的数组API和对象API
- 欢迎使用CSDN-markdown编辑器