好感動,終於撐過一半了。
小菜鳥發覺,人的潛質都是被逼出來的!
今天要跟大家分享的單元:集合!
在Java當中算是蠻常用到的工具,
不是當兵或者是學校的那種集合,當兵聽到集合就知道沒好事 XD
集合(Collection)和陣列有點類似,
陣列是將一群資料類別相同的資料收集在一起,
而集合是收集一群相關資料,這裡的資料也稱為元素,
再以特定的集合類別,
如:Hashtable、TreeSet、ArrayList、LinkedList、HashMap、TreeMap
來處理或存取這些資料。
雖然可以使用陣列排序、搜尋的演算法來達到相同的處理結果,
但這些程式敘述往往會涉及資料結構的概念,
會使得程式的複雜度很高。
Java的java.util.*套件中提供了五組集合介面和可實作的具體類別,
不同的集合類別產生不同的集合物件,因此集合物件有很多種,
其中的元素資料有些可以重複出現,有些可以自動排序,有些需要鍵值對應。
集合介面:Collection、Set、SortedSet、List、Map、SortesMap。
實作集合介面的具體類別:
介面只是定義抽象方法,沒有實作內容。
因此集合介面皆有對應的集合具體類別,
這些集合類別,可以使用new來建立集合物件。
在這些集合物件中都各有它的特性,大致上分為四種。
[*][*]排序性:集合物件所含元素會因內容變動而自動由小到大的做遞增排序。
[*]循序性:所含元素的排列方式是依照某一特定次序擺放。
[*]唯一性:集合物件所存放的元素,不允許重複出現!
[*]鍵值對應:集合物件存在的元素有兩個欄位,一個關鍵值,另一個為關鍵值所對應的資料。
以下就讓小菜鳥用個簡單的程式說明如何將資料、陣列、變數的元素,
存放到實作Set<E>介面的hest集合物件中,並顯示集合元素。
public class Untitled16 {
public static void main(String[] args) {
Set<String> hest = new HashSet<String>();
hest.add("台北");
String [] place = {"新竹","台中","台南","台北"};
for(String p : place)
hest.add(p);
String city = "高雄";
hest.add(city);
System.out.println(hest);
}
}
[高雄, 新竹, 台北, 台南, 台中]