Java常見的幾種集合類
前提:基本資料型別定義多個變數顯得冗餘複雜->陣列的出現解決了這個問題,但是隻能存取相同型別的資料->所以出現了集合類,可以存放不同型別的資料!
(1)什麼是集合類:
集合類主要負責儲存、盛裝其他資料,因此又將集合類稱為容器類,本質上是一種資料結構!Java集合類通常分為Set、List、Map和Queue4大體系。其中,Set代表無序的、不允許有重複元素的集合,List代表有序的、允許有重複元素的集合,Map代表具有對映關係的集合,Queue代表隊列集合。Java集合類主要由2個介面派生過來:Collection介面和Map介面!
(2)與陣列的區別:
陣列中元素是同一資料型別,而且陣列長度是固定不變的;而集合類的長度是可變的,並且可以儲存多種型別的資料。
(3)Collection介面的常用方法:
- public boolean add(Object obj):加入指定元素obj到集合類物件中
- public int size():返回集合類物件中包含的元素的個數
- public boolean isEmpty():判斷是否為空,是返回true,否返回false
(4)Set介面和HashSet實現類:
例如:
HashSet<Object> hash = new HashSet<Object>();
hash.add(1);
hash.add("hello");
System.out.print("此雜湊集中的元素分別為:"+hash);
System.out.print("此雜湊集中的元素個數為:"+hash.size());
(5)List介面和ArrayList實現類:
例如:
ArrayList<String> list = new ArrayList<Stirng>();
list.add("hello");
list.add("world");
System.out.print("此列表中的元素分別為:"+list);
System.out.print("此列表中的元素個數為:"+list.size());
(6)Map介面和HashMap實現類
- ·主要儲存“鍵-值”對,不允許鍵重複,但允許值重複。
- ·基本方法:
public void put(Object key,Object value):向列表中新增一對“鍵-值”。
public Object get(Object key):返回鍵值key對應的元素。
- ·例如:
HashMap<String, String> map = new HashMap<String, String>();
map.put("username", "張三");
map.put("password", "123456");
System.out.print("學生姓名為:"+map.get("username")+"\n"+"學生密碼為:"+map.get("password"));
(7)Iterator和Enumeration
前提:訪問陣列中的元素,可以使用下角表的方式進行訪問,但是如何訪問集合類中的元素呢?所以就出現了一種方法訪問一個容器(集合類)物件中各個元素,而又不暴露物件的內部細節,這就是迭代器。所有的集合類元素都可以使用Iterator來獲取元素。
- ·常用方法:
public boolean hasNext():判斷是否還有下一個元素。
public Object next():返回當前列表的下一個元素。