一.ArrayList类
数组结构、查询快、修改慢
1.构造方法
ArrayList()
构造一个初始容量为十的空列表。
|
ArrayList(Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
|
ArrayList(int initialCapacity)
构造具有指定初始容量的空列表。
|
import java.util.*;
public class EX20_1 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
Iterator<String> i=list.iterator();
while(i.hasNext())
{
System.out.println(i.next());
}
}
}
输出:
one
two
three
four
3.使用范例2(ArrayListToArray)
import java.util.*;
public class ArrayListToArray
{
public static void main( String args[] )
{
// 创建一ArrayList对象al
ArrayList<Integer> al = new ArrayList<Integer>();
// 向ArrayList中加入对象
al.add( new Integer( 1 ) );
al.add( new Integer( 2 ) );
al.add( new Integer( 3 ) );
al.add( new Integer( 4 ) );
System.out.println( "ArrayList 中的内容 : " + al );
// 得到对象数组
Object ia[] = al.toArray();
int sum = 0;
// 计算数组内容
for( int i = 0; i < ia.length; i++ )
{
sum += ( (Integer) ia[i] ).intValue();
}
System.out.println( "数组累加结果是: " + sum );
}
}
二、LinkedList类
链式结构、查询慢、修改快
1.构造方法
LinkedList()
构造一个空列表。
|
LinkedList(Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
|
import java.util.*;
public class LinkedListDemo
{
public static void main( String args[] )
{
// 创建LinkedList对象
LinkedList<String> LL = new LinkedList<String>();
// 加入元素到LinkedList中
LL.add( "F" );
LL.add( "F" );
LL.add( "D" );
LL.add( "E" );
LL.add( "C" );
// 在链表的最后一个位置加上数据
LL.addLast( "Z" );
// 在链表的第一个位置上加入数据
LL.addFirst( "A" );
// 在链表第二个元素的位置上加入数据
LL.add( 1, "A2" );
System.out.println( "LL 最初的内容:" + LL );
// 从linkedlist中移除元素
LL.remove( "F" );
System.out.println( "删除元素F后的LL 内容:" + LL );
LL.remove( 2 );
System.out.println( "从LL中移除第二个元素后的内容之后:" + LL );
// 移除第一个和最后一个元素
LL.removeFirst();
LL.removeLast();
System.out.println( "LL 移除第一个和最后一个元素之后的内容:" + LL );
// 取得并设置值
Object val = LL.get( 2 );
LL.set( 2, (String) val + " Changed" );
System.out.println( "LL 被改变之后:" + LL );
}
}
三、旧的子类——Vector
Vector实现动态数组,这与ArrayList类似,但两者不同的是:Vector是同步的,并且它包含了许多不属于类集框架的从以前版本遗留下来的方法。现在与类集是完全兼容的。
1.构造方法
Vector()
构造一个空向量,使其内部数据数组的大小为
10 ,标准容量增量为零。
|
Vector(Collection<? extends E> c)
构造一个包含指定集合元素的向量,按照集合的迭代器返回的顺序。
|
Vector(int initialCapacity)
构造具有指定初始容量并且其容量增量等于零的空向量。
|
Vector(int initialCapacity, int capacityIncrement)
构造具有指定的初始容量和容量增量的空向量。
|
import java.util.Enumeration;
import java.util.Vector;
public class VectorDemo {
public static void main(String[] args) {
Vector<String> v=new Vector<String> ();
v.add("张昊雨");
v.add("郑道翔");
v.add("安晨阳");
v.add("秦鸿俊");
System.out.println(v);
Enumeration<String> e=v.elements();
while(e.hasMoreElements())
{
System.out.println(e.nextElement());
}
}
}
输出:
[张昊雨, 郑道翔, 安晨阳, 秦鸿俊]
张昊雨
郑道翔
安晨阳
秦鸿俊