Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
2014-07-15 11:51
1106 查看
概要
上一章,我们学习了Collection的架 构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解 ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介
第2部分 ArrayList数据结构
第3部分 ArrayList源码解析(基于JDK1.6.0_45)
第4部分 ArrayList遍历方式
第5部分 toArray()异常
第6部分 ArrayList示例
转载请注明出处:/article/4709033.html
第1部分 ArrayList介绍
ArrayList简介ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。
ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess
是java中用来被List实现,为List提供快速访问功能的。在ArrayList中,我们即可以通过元素的序号快速获取元素对象;这就是快速随机访
问。稍后,我们会比较List的“快速随机访问”和“通过Iterator迭代器访问”的效率。
ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。
和Vector不同,ArrayList中的操作不是线程安全的!所以,建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOnWriteArrayList。
ArrayList构造函数
1 import java.util.*; 2 3 /* 4 * @desc ArrayList常用API的测试程序 5 * @author skywang 6 * @email kuiwu-wang@163.com 7 */ 8 public class ArrayListTest { 9 10 public static void main(String[] args) { 11 12 // 创建ArrayList 13 ArrayList list = new ArrayList(); 14 15 // 将“” 16 list.add("1"); 17 list.add("2"); 18 list.add("3"); 19 list.add("4"); 20 // 将下面的元素添加到第1个位置 21 list.add(0, "5"); 22 23 // 获取第1个元素 24 System.out.println("the first element is: "+ list.get(0)); 25 // 删除“3” 26 list.remove("3"); 27 // 获取ArrayList的大小 28 System.out.println("Arraylist size=: "+ list.size()); 29 // 判断list中是否包含"3" 30 System.out.println("ArrayList contains 3 is: "+ list.contains(3)); 31 // 设置第2个元素为10 32 list.set(1, "10"); 33 34 // 通过Iterator遍历ArrayList 35 for(Iterator iter = list.iterator(); iter.hasNext(); ) { 36 System.out.println("next is: "+ iter.next()); 37 } 38 39 // 将ArrayList转换为数组 40 String[] arr = (String[])list.toArray(new String[0]); 41 for (String str:arr) 42 System.out.println("str: "+ str); 43 44 // 清空ArrayList 45 list.clear(); 46 // 判断ArrayList是否为空 47 System.out.println("ArrayList is empty: "+ list.isEmpty()); 48 } 49 }
运行结果:
the first element is: 5 Arraylist size=: 4 ArrayList contains 3 is: false next is: 5 next is: 10 next is: 2 next is: 4 str: 5 str: 10 str: 2 str: 4 ArrayList is empty: true
相关文章推荐
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java【集合系列】-03-ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- 【转】Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列之 ArrayList详细介绍(源码解析)和使用示例
- Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例