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;
}判断集合是否为空。