1.关于java.util.Collection接口中常用的方法
(1)Collection中能存放什么元素?
没有使用“泛型”之前,Collection中可以存储Object的所有子类型
使用“泛型”之后,Collection中只能存储某个具体的类型
(集合中不能直接存储基本数据类型,也不能存java对象,只是存储java对象的内存地址)
(2)Collection中的常用方法
boolean add(Object e)向集合中添加元素
int size()获取集合中元素的个数
void clear()清空集合
boolean contains(Object o)判断当前集合中是否包含元素o
boolean remove(Object o)删除集合中的某个元素
boolean isEmpty()判断集合中元素的个数是否为0
Object[] toArray()调用这个方法可以把集合转换成数组
Collection c=new Collection//错误!接口是抽象得到无法实例化new对象
应该这样写 Collection c=new ArrayList()//多态
c.add(1000)实际上是放进去了一个对象的内存地址,自动装箱(java5新特性)Integer x=new Integer(1000)
2.关于集合遍历/迭代
以下的遍历/迭代方式,是所有Collection通用的一种方式
在Map集合中不能用,在所有的Collection以及子类中使用
3.迭代器对象负责遍历/迭代集合当中的元素。注意:迭代器对象最初并没有指向第一个元素
boolean hasNext=it.hasNext();
这个方法返回true,表示还有元素可以迭代,这个方法返回false表示没有更多的元素可以迭代了
Object obj=it.next();
这个方法让迭代器前进一位,并且将指向的元素返回(拿到)
4.对集合Collection进行遍历/迭代
第一步:获取集合对象的迭代器对象Iterator
Iterator it=c.iterator()
第二步:通过以上获取的迭代器对象开始迭代/遍历集合
以下两个方法是迭代器对象Iterator中的方法:
boolean hasNext()如果有元素可以迭代,则返回true
Object next()返回迭代的下一个元素
5.代码演示
package testt;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class daw {
public static void main(String[] args) {
Collection s=new ArrayList();
s.add(123);
s.add("avf");
s.add(new Test());
Iterator t=s.iterator();
while(t.hasNext()){
System.out.println(t.next());
}
}
}
//123
avf
testt.Test@7ef20235
6.
contains方法是用来判断集合中是否包含某个元素的方法,那么它底层是怎么判断的呢?
调用了equals方法进行比对
存放在一个集合中的类型,一定要重写equals方法
remove方法中也调用了equals方法