集合的继承实现关系
查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了。
interface List extends Collection{
}
public class ArrayList extends AbstractList implement List{
}
说明在使用ArrayList类时,该类已经把所有抽象方法进行了重写。所以,实现Collection接口的所有子类都会进行方法重写。
- Collection接口常用的子接口有:List接口、Set接口
- List接口常用的子类有:ArrayList类、LinkedList类
- Set接口常用的子类有:HashSet、LinkedHashSet类
Collection接口 Collection接口是集合中的顶层集合,那么它里面定义的所有功能子类都可以使用。Collection层次结构中的根接口。Collection表示一组对象,这些对象也称为collection的元素。一些collection允许有重复的元素,而另一些则不允许,一些collection是有序的,而另一些则是无序的。
Collection接口的基本方法
创建集合的格式:
方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();(该方式创建的集合,只能存储<>中指定的元素类型,为常用方式)
方式2:Collection 变量名 = new ArrayList();(该方式创建的集合,集合的元素类型默认为Object类型,即任何类型的元素都可以存储)
Collection的clear方法
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
function();
}
/*
* Collection接口的方法
* void clear() 清空集合中的所有元素
* 集合容器本身依然存在
*/
public static void function(){
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
coll.add("abc");
coll.add("bcd");
System.out.println(coll);
coll.clear();
System.out.println(coll);
}
}
Collectiond的contains方法
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
function_1();
}
/*
* Collection接口方法
* boolean contains(Object o) 判断对象是否存在于集合中,对象存在返回true
* 方法参数是Object类型
*/
private static void function_1() {
Collection<String> coll = new ArrayList<String>();
coll.add("abc");
coll.add("itcast");
coll.add("itheima");
coll.add("money");
coll.add("123");
boolean b = coll.contains("itcast");
System.out.println(b);
}
}
Collection的toArray方法
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
function_2();
}
/* Collection接口方法
* Object[] toArray() 集合中的元素,转成一个数组中的元素, 集合转成数组
* 返回是一个存储对象的数组, 数组存储的数据类型是Object
*/
private static void function_2() {
Collection<String> coll = new ArrayList<String>();
coll.add("abc");
coll.add("itcast");
coll.add("itheima");
coll.add("money");
coll.add("123");
Object[] objs = coll.toArray();
for(int i = 0 ; i < objs.length ; i++){
System.out.println(objs[i]);
}
}
}
Collection的remove方法
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
function_3();
}
/*
* Collection接口方法
* boolean remove(Object o)移除集合中指定的元素
*/
private static void function_3(){
Collection<String> coll = new ArrayList<String>();
coll.add("abc");
coll.add("money");
coll.add("itcast");
coll.add("itheima");
coll.add("money");
coll.add("123");
System.out.println(coll);
boolean b = coll.remove("money");
System.out.println(b);
System.out.println(coll);
}
}