1. 程式人生 > >JAVA高階——集合類

JAVA高階——集合類

集合的概念:

Java中集合類是用來存放物件的
集合相當於一個容器,裡面包容著一組物件 —— 容器類
其中的每個物件作為集合的一個元素出現
Java API提供的集合類位於java.util包內

Java中陣列與集合的比較:

陣列也是容器,它是定長的,訪問較快,但是陣列不會自動擴充
陣列可以包含基本資料型別或引用型別的物件,而集合中只能包含引用型別的物件

Java中集合框架層次結構

set_map

Collection介面

Set介面和List介面的父類。
Set - 無序的集合;不允許重複(如 HashSet)
List - 有序的集合;允許重複(如 ArrayList、LinkedList)

Set介面

用來包含一組 無序無重複 的物件

  • 無序 — 是指元素存入順序和集合記憶體儲的順序不同
  • 無重複 — 兩個物件e1和e2,如果e1.equals(e2)返回true,則認為e1和e2重複

Set有兩種主要的集合實現類:

  • HashSet — HashSet的特性在於其內部物件的雜湊存取,即採用雜湊技術
  • TreeSet — TreeSet存入的順序跟儲存的順序不同,但是儲存是按照排序儲存的
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.util.HashSet;import
java.util.Iterator;import java.util.Set;/* * Collection介面:Set - 無序的集合;不允許重複;List - 有序的集合;允許重複 */publicclassTestSet{/** * @param args */publicstaticvoidmain(String[]args){/*set 無序 不重複 * 無序 — 是指元素存入順序和集合記憶體儲的順序不同 *//* * 1. Set是“無序”的(利用hash演算法存的 假無序,每次結果都一樣) * 即:程式存放的順序和執行的set順序無關 * * 2. Set是不重複的。
*///採用雜湊技術儲存亂序Sets=newHashSet();//儲存是按照排序儲存的 注意 S內的內容要格式統一,符合排序的原則//Set s = new TreeSet();s.add("1");s.add("3");s.add("2");//對格式不限制//s.add(new Integer(4));//自動去重<