Collection為一個物件集合,是JAVA內建好的介面,裡面有各種好用的可存放式的資料的容器
想是List跟Set兩大類型等等,使用者只要實作出容器就可以馬上來使用。
List | Set | |
順序性 | 無 | 有 |
Index | 有 | 無 |
疊代器 | 有 | 有 |
資料重複 | 可 | 否 |
常用到的List類型有ArrayList跟LinkedList;Set有TreeSet跟HashSet
而TreeSet會自動排序內容物(必須為可排序的資料),HashSet則不會
Set範例
import java.util.HashSet;
public class SetTest1 {
public static void main(String[] args) {
HashSet set = new HashSet();
set.add(12); // int --> Integer 自動封裝
set.add("brad");
set.add(new Integer(12));
set.add(true); // bollean -> Boolean
set.add("12");
set.add("brad");
System.out.println(set.size()); //4
System.out.println(set.toString()); //列出每個內容
}
}
import java.util.Iterator;
import java.util.TreeSet;
public class SetTest2 {
public static void main(String[] args){
TreeSet set = new TreeSet();
while (set.size()<6){ //直到有六個號碼出現
set.add((int)(Math.random()*49)+1); //大樂透 1~49
}
Iterator it = set.iterator(); //疊代器
while (it.hasNext()){ //Set尋覽的方法,如果還有下一個疊代器就繼續執行
Integer num = (Integer)it.next();
System.out.println(num);
}
}
}
List範例
import java.util.ArrayList;
public class ListTest1 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList();
list1.add("Brad"); // 0
list1.add(2); // 1
list1.add(true); // 2
list1.add("Brad"); // 3
list1.add(4, "Test1");
System.out.println(list1.size());
for (int i=0; i<list1.size(); i++){
System.out.println(list1.get(i));
}
System.out.println("------------------------");
list1.remove("Brad");
System.out.println(list1.size());
for (Object obj : list1){ //java ForEach的用法
System.out.println(obj);
}
}
}
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記