框架图中 虚线所表示的是接口,实线所表示的是实现了该接口的子类。
Collection有两个子类:
List: 链表,元素有序,存入和取出都是原来的顺序,元素可以重复,每个元素都有索引(角标)
Set:集合,元素无序,不可以重复。
List:常见的特有方法,有一个共性特点就是可以操作元素的角标。
1、添加
void add(index ,element);
void add(index ,collement);
2、删除
Object remove( index );
3、修改
Object (index );
4、获取
Object set (index );
int indexOf(Object);
int lastIndexOf(Object);
List subList(from ,to);
List集合可以对元素完成增删改查
List:
|--:Vector:内部是数组数据结构,是同步的。增删查询效率都很慢。
|--:ArrayList:内部是数组数据结构,不同步。代替了Vector,查询效率快。
|--:LinkedList:内部是链表数据结构,不同步。增删元素的效率很快。
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
/**
* @param args
*/
public static void main(String[] args) {
List list = new ArrayList();
show(list);
}
public static void show(List list) {
//添加元素
list.add("abc1");
list.add("abc2");
list.add("abc3");
System.out.println(list);
//插入元素。
// list.add(1,"abc9");
//删除元素。
// System.out.println("remove:"+list.remove(2));
//修改元素。
// System.out.println("set:"+list.set(1, "abc8"));
//获取元素。
// System.out.println("get:"+list.get(0));
//获取子列表。
// System.out.println("sublist:"+list.subList(1, 2));
System.out.println(list);
}
}