本文已参与[新人创作礼]活动,一起开启掘金创作之路.
由此视频整理而得:视频链接
Collection中可以存储什么元素
没有使用“泛型”之前,collection中可以存储object的所有子类型。使用了“泛型”之后,Collection中只能存储某个具体的类型。 集合中不能值接存储基本数据类型,通过自动装箱可以存储包装类;也不能存java对象,只是存储java对象的内存地址。
CoIlection中的常用方法
boolean add(object e):向集合中添加元素
int size():获取集合中元素的个数
void clear():清空集合
boolean contains(0bject o):判断当前集合中是否包含元素o,包含返回true,不包含返回false
boolean remove(Object o):删除集合中的某个元素。
boolean isEmpty():判断该集合中元素的个数是否为0
Object[] toArray():调用这个方法可以把集合转换成数组。
Collection的迭代遍历
- 由于Map不是collection的子类,不能使用该方法迭代遍历。
- 集合结构发生改变,迭代器需要重新获取,否则会产生异常。
- 在迭代遍历中如果想删除元素,可以调用迭代器的remove方法删除掉迭代器当前指向的元素,此时不需要重新获取迭代器。
- 调用iterator()方法,我们可以理解为对当前集合的状态获取了一个快照。
public class CollectionTest02 {
public static void main(String[]args) {
Collection c = new Arraylist();
c.add( "abe");
c.add("def");
c.add( 100);
c.add(new object());
//对集合collection进行遍历
//第一步:获取集合对象的迭代器对象iterator
Iterator it = c.iterator();
//第二步:通过以上获取的迭代器对象开始迭代/逼历集合。
/*以下两个方法是迭代器对象Iterator中的方法:
boolean hasNext()如果仍有元素可以迭代,则返回true
oobject next()返回选代的下一个元素。
*/
while(it.hasNext()){
Object obj= it.next(); //不管存进去的是什么返回的都是Object类的对象
//进行需要的操作
}
}
}
contains方法解析
该方法底层通过equals方法来实现。 我们以后放在集合中的元素,需要重写equals方法。
remove方法解析
该方法也是删除equals方法为true的元素。