本人的博客個人安排是接口之後就是寫面向對象中的多態,異常的處理,以及多線程,String等等的相關基礎知
但是由於一些客觀的因素對個人的影響,最後只好從集合框架開始寫,至於接口到集合框架這一部分過一陣子就會補
上。下面開始說一些關於集合框架的相關知識,爲學習iterator迭代器做下鋪墊。
什麼是集合呢?
首先集合就是用於存儲對象的容器,並且該容器的長度是可變的。
那麼集合和數組的區別有哪些?
1. 集合長度是可變的,而數組長度是固定的。
2. 集合中只能存儲對象。 數組中既可以存儲對象,又可以存儲基本類型數值。
3. 集合中存儲的對象可以是任意類型的。數組中只能存儲同一類型的對象。
那麼有了集合,慢慢的就產生了集合框架的這個概念。由於容器很多,因爲每個容器中的數據結構(就是數據在
容器中存儲方式)是不同的。容器雖然因爲結構有些不同,但是都具備着共性,可以不斷地向上抽取,最終就形成集
合框架,該框架的頂層之一就是Collection接口。該接口中定義了集合框架中最共性的功能。最終使用的時候,其實使
用的該框架最子類的對象。
下面是一些增刪改查的演示,比較簡單。
import java.util.*;
public class Test016
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
method_1();
}
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method_1()
{
//創建一個集合容器,使用collection接口的子類Arraylist
ArrayList al = new ArrayList();
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
//打印集合
sop(al);
//刪除元素
al.remove("java03");
sop(al);
//獲取個數,集合長度
sop("size:"+al.size());
//判斷元素
sop("java02是否存在與集合當中"+al.contains("java02"));
sop("集合是否爲空:"+al.isEmpty());
}
}
補充說明:
1.add方法的參數類型是Object,以便於接收任意類型的對象。
2.集合中存儲的都是對象的引用,也就是對象在堆內存中的地址。
public static void method_2()
{
ArrayList al1 = new ArrayList();
al1.add("java01");
al1.add("java02");
al1.add("java03");
al1.add("java04");
ArrayList al2 = new ArrayList();
al2.add("java01");
al2.add("java02");
al2.add("java05");
al2.add("java06");
al1.retainAll(al2);//取交集,al1中只保留和al2相同的元素
sop("al1"+al1);
sop("al2"+al2);
}
method_2方法則是對於集合中取交集的演示。其他還有一些方法在此就不一一演示了,大家可以去查閱API文檔
進行更詳細的學習。
現在就把學習迭代器之前的一些關於集合的基礎寫了下,下篇寫迭代器的相關知識。通過學習這些基礎知識,讓
我對集合框架的體系以及共性方法有了初步的認識,加油,努力!~