一.什么是集合
集合是java提供的一种容器,可以用来储存多个数据
二.集合的继承实现关系
我们常用的集合是ArrayList集合,查看它的源码可以发现,它继承了AbstractList抽象类同时实现了List接口,然而List的接口又继承了Collection接口,所以Collection接口为最近顶层集合接口。
源码:
interface List extends Collection {
}
public class ArrayList extends AbstractList implements List{
}
这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。
下图就是集合的继承关系:
分析:
Collecton接口常用的子接口有:List接口、Set接口;
List接口常用的子类有:ArrayList类、LinkedList类;
Set接口常用的子类有:HashSet类、LinkedHashSet类。
三.Collection接口概述
既然Collection接口是集合中的顶层接口,那么它定义的所有功能子类都可以使用;
Collection 表示一组对象,这些对象也称为 collection 的元素;
一些 collection 允许有重复的元素,而另一些则不允许;
一些 collection 是有序的,而另一些则是无序的。
参看API可以看到Collection接口的基本方法如下:
创建集合的格式:
方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();
方式2:Collection 变量名 = new ArrayList();
方式1:创建的集合,只能存储<>中指定的元素类型,该方式为常用方式
方式2:创建的集合,集合的元素类型默认为Object类型,即任何类型的元素都可以存储。
Collection接口中的方法演示:
/创建集合
Collection coll = new ArrayList();
//1.往集合中添加对象元素;
//add(E e)方法,E代表创建集合时所指定的数据类型如<String>,那么,E就代表String类型;
//创建集合时若没有指定数据类型,那么,E就代表Object类型。
coll.add("lsy1");
coll.add("lsy2");
coll.add("lsy3");
System.out.println(coll);//打印结果为:[lsy1. lsy2. lsy3]
System.out.println(coll.toString());//打印结果为:[lsy1. lsy2. lsy3]
//2.从集合中删除元素;
//remove(Object o)方法.
coll.remove("lsy2");//删除后,集合元素为[lsy1. lsy3]
//3.判断集合中是否包含指定元素;
//contains(Object o)方法。
System.out.println(coll.contains("lsy1"));//打印结果为true
System.out.println(coll.contains("lsy2"));//打印结果为false
//4.获取集合元素个数。size()方法
System.out.println(coll.size());//打印结果为2
//5.返回包含集合中所有元素的数组;
//toArray()方法
String[] array = coll.toArray();//数组中的元素为{"lsy1". "lsy3"}
//6.清除集合元素;
//remove()方法
coll.clear();//清空后,集合元素为[],代表没有元素