集合的繼承實現關係
查看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);
}
}