1.List集合代表一个元素有序可重复的集合,集合中的每个元素都有对应的顺序索引。
2.ArrayList和Vector实现类
二者都是基于数组实现的List类,即封装了一个动态的允许再分配的Object[]数组。但前者是线程不安全的,后者是线程安全的。
ArrayList举例:
import java.util.*;
class ListTest
{
public static void main(String[] args)
{
List books=new ArrayList();
books.add("123");
books.add("abc");
books.add("abcd");
System.out.println(books);
for(int i=0;i<books.size();i++)
{//依次输出集合中的值
System.out.println(books.get(i));
}
books.remove(1);//删除索引为1的元素
System.out.println(books);
System.out.println(books.indexOf("abc"));//找到该对象第一次出现的位置索引
books.set(0,"1234");//将第0个元素替换成新的值
System.out.println(books.subList(1,2));//获取从1开始到2结束(不包括2)的索引组成的子集合
}
}
Vector提供了一个Stack子类,来模拟栈的操作,如下:
import java.util.*;
class VectorTest
{
public static void main(String[] args)
{
Stack v=new Stack();
v.push("123");//进栈操作
v.push("abc");
System.out.println(v);
System.out.println(v.peek());//返回第一个元素,但不出栈
System.out.println(v);
System.out.println(v.pop());//返回第一个元素并出栈
System.out.println(v);
}
}
3.固定长度的List
可以使用Arrays的一个asList(Object a)方法定义一个固定长度的List.
如:List fixList=Arrays.asList("123","456","789");//只能访问其中的元素,不可增加删除。