2016.08.15

【集合框架】

如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象---可以使用Java集合框架。

 

Java集合框架包含的内容:

  ①接口。collection(list  set)  map。两个集合框架:collection,map。三大集合框架:list,set,map。

List(ArrayList  LinkedList)  Set(HashSet TreeSet)  Map(HashMap TreeMap)

  ②具体类

  ③算法。collections,提供了对集合进行排序、遍历等多种算法实现。

 

接口是可以被继承的。

 

Collection接口存储一组不唯一,无序的对象。

List接口存储一组不唯一,有序(插入顺序)的对象。

Set接口存储一组唯一,无序的对象。

Map接口存储一组键值对象,提供key(键)到value(值)的映射。

 

ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。

LinkedList采用链表存储方式。插入、删除元素时效率比较高。

 

List接口常用方法:

  boolean add(Object o):在列表的末尾顺序添加元素,起始索引位置从0开始。

void add(int index,Object o):将想要添加的元素o添加到下标为index的位置,注意:是添加,不是替换。

int size();获取长度。

list.remove(int index);删除指定下标元素。

list.remove((Integer)0);删除指定元素0。

Object get(in index);返回指定索引位置处的元素。

boolean contains(Object o):判断列表中是否存在指定元素。

boolean remove(Object o):从列表中删除元素。

 

ArrayList<Integer> list=new ArrayList<Integer>();

表示添加的只能是存储整数型,但是不能写基本数据类型int,要写Integer即都要写泛型。

 

添加元素:list.add(a);

获取元素:list.get(index);

 

list.add(11);

list.add(12);

list.add(13);

list.addAll(list);添加一个完整的集合,从末尾开始。

list.remove(list2);

 

list.clear();清空list(删除)。

 

list.isEmpty(){

return size==0;

}判断集合是否为空。