标签:
/* * List集合的特有功能: * A:添加功能 * void add(int index,Object element):在指定位置添加元素 * B:获取功能 * Object get(int index):获取指定位置的元素 * C:列表迭代器 * ListIterator listIterator():List集合特有的迭代器 * D:删除功能 * Object remove(int index):根据索引删除元素,返回被删除的元素 * E:修改功能 * Object set(int index,Object element):根据索引修改元素,返回被修饰的元素 */
测试类
@Test
public void testList(){
List list = new ArrayList();
list.add("AAA");
list.add("BBB");
list.add("CCC");
list.add("DDD");
System.out.println(list);
//1.在指定索引位置添加元素
list.add(1,"QQQ");
System.out.println(list);
//2.获取指定索引位置的元素
String str = (String)list.get(1);
System.out.println("索引为1的元素: " + str);
//3.移除指定索引位置的元素
list.remove(1);
System.out.println(list);
//4.修改指定索引位置的元素
list.set(0,"KKK");
System.out.println(list);
//5.列表迭代器
ListIterator it = list.listIterator();
while(it.hasNext()){
String s = (String)it.next();
System.out.print(s + " ");
}
System.out.println("");
//可以逆向遍历,但是必须先正向遍历,没意义
while(it.hasPrevious()){
String s = (String)it.previous();
System.out.print(s + " ");
}
}
结果:
[AAA, BBB, CCC, DDD]
[AAA, QQQ, BBB, CCC, DDD]
索引为1的元素: QQQ
[AAA, BBB, CCC, DDD]
[KKK, BBB, CCC, DDD]
KKK BBB CCC DDD
DDD CCC BBB KKK
ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
二、ArrayList
1.ArrayList简介
ArrayList是一个动态数组,它的容量能动态的增长。
它继承于AbstractList,实现了List、RandomAccess、Cloneable、Serializable这些接口。
(1)ArrayList继承于AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历功能。
(2)ArrayList实现了RandomAccess接口,及提供了随机访问功能。在ArrayList中,我们可以通过元素的序列号快速获取元素对象,这就是快速随机访问。
(3)ArrayList实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
(4)ArrayList实现了Serializable接口,意味着ArrayList支持序列化,能够通过序列化去传输。
2.构造函数
标签:
原文地址:http://www.cnblogs.com/yangang2013/p/5635367.html