1:容器(又称为集合)
容器:可以在其中放置对象或基本类型数据(数组就是一种容器)
数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。
数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这样的用户有多少个?我们在写程序时是无法确定的。因此,在这里就不能使用数
2:泛型:
泛型列表一般使用<T,E,V>这三个字母
例:使用泛型和不使用泛型
//不使用泛型
class Meat{
Object[] objs = new Object[5];
public void set(Object obj,int index){
objs[index] = obj;
}
public Object get(int index){
return objs[index];
}
}
//使用泛型
class Meat<E>{ //E:表示泛型
Obeject[] objs = new Object[5];
public void set(E e ,int index){
objs[index] = e;
}
public E get(int index){
return(E) objs[index];
}
}
3:Collection接口
方法 | 说明 |
boolean add(Object element) | 增加元素到容器中 |
boolean remove(Object element) | 从容器中移除元素 |
boolean contains(Object element) | 容器中是否包含该元素 |
int size() | 容器中元素的数量 |
boolean isEmpty() | 容器是否为空 |
Iterator iterator() | 获得迭代器,用于历遍所有元素 |
boolean containsAll(Collection c) | 本容器是否包含c容器中的所有元素 |
boolean addAll(Collection c) | 将容器c中的所有元素增加到本容器 |
boolean removeAll(Collection c) | 移除本容器和容器c中都包含的元素 |
boolean retainAll(Collection) | 取本容器和容器c中都包含的元素,移除非交集元素 |
void clear() | 清空容器中的所有元素 |
Object[] toArray() | 转化成Object数组 |
List接口:
List是有序、可重复的容器。
有序:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。
可重复:List允许加入重复的元素。更确切地讲,List通常允许满足 e1.equals(e2) 的元素重复加入容器。
List接口常用的实现类:ArrayList(数组)、LinkedList(列表)和Vector