--Collection
接口是
List
、
Set
和
Queue
接口的父接口,
该接口里定义的方法既可用于操作
Set
集合,
也可用于操作
List
和
Queue
集合。
--JDK
不提供此接口的任何直接实现,
而是提供更具体的子接口
(
如:
Set
和
List)
实现。
--在
Java5
之前,
Java
集合会丢失容器中所有对象的数据类型,
把所有对象都当成
Object
类型处理;
从
Java5
增加了
泛型
以后,
Java
集合可以记住容器中对象的数据类型
常用方法
size()--集合中元素个数
add(Object)--向集合中添加一个元素
addAll(collection)--讲coll中包含的所有元素添加到当前集合
isEmpty()--判断是否为空
clear()--清空元素
contains(object)--判断集合中是否包含指定的obj元素
判断的依据:根据元素所在的类的
equals()方法进行判断
明确:如果存入集合中的元素是
自定义类的对象。要求:
自定义类要重写equals()方法!
containsAll
(collection)
retainAll(coll2)--求当前集合与coll的共有的元素,返回给当前集合
remove(object)--删除集合中的obj元素。若删除成功,返回true。否则,返回false
removeAll(collection)--从当前集合中删除包含在coll中的元素。
hashCode()--
toArray()--将集合转化为数组
iterator()--迭代器
Iterator it = coll.iterator();
while(it.hasNext())
{
sysout(it.next());
}
l
Iterator
对象称为
迭代
器
(
设计模式的一种
)
,
主要用于遍历
Collection
集合中的
元素。
l
l
所有实现了Collection接口的集合类都有一个
iterator
()
方法,用以
返回一个实现了Iterator接口的对象
。
l
l
Iterator
仅用于遍历集合
,
Iterator
本身并不提供承装对象的能力。
如果需要创建
Iterator
对象,则必须有一个被迭代的集合。
* 1.存储对象可以考虑:①数组 ②集合
* 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();....
* >弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可知。
* 3.集合
* Collection接口
* |------List接口:存储有序的,可以重复的元素
* |------ArrayList(主要的实现类)、LinkedList(对于频繁的插入、删除操作)、Vector(古老的实现类、线程安全的)
* |------Set接口:存储无序的,不可重复的元素
* |------HashSet、LinkedHashSet、TreeSet
* Map接口:存储“键-值”对的数据
* |-----HashMap、LinkedHashMap、TreeMap、Hashtable(子类:Properties)
|