Container/collection
容器:一種用來存儲各種資料類型的資料結構
三種類型:
-
Set(集合):無順序,不可重複(neither)
(1)HashSet
(2)TreeSet
(3)SortedSet
-
List(清單):固定順序,可重複(indices)
(1)ArrayList
(2)LinkedList
(3)Vector
(4)Stack
-
Map(映射:無序,key-value鍵值對的集合(name)
(1)HashMap
(2)TreeMap
(3)SortedMap
(4)Hashtable
補充:hashmap很快,但是不保證映射的順序(不保證順序恒久不變)—》就是說你輸入的順序和你周遊列印輸出的順序可能是不一樣的。
建立操作
集合
Set set = new HashSet();
set.add(“Rain”);
清單
List list= new ArrayList();
list.add(“Rain”);
映射
Map<String,String> map = new HashMap<String,String>();
map.put(“first”,“Rain”);
周遊列印操作
疊代器iterators
步驟:
1.調用set/list/.iterator()方法建立iterator 對象
Iterator iterator = set.iterator();
Iterator iterator = list.iterator();
lterator<Map.Entry<String,String>> iterator = map.entrySet();
2.while循環調用,iterator.hasNext()檢驗
3.取值,列印
//set && list
while(iterator.hasNext())
{
String text = iterator.next();
System.out.println(text);
}
//map
while(iterator.hasNext())
{
Map.Entry<String,String> pair=iterator.next();
String key = pair.getKey();
String value = pair.getValue();
System.out.println(key +" :"+value);
}
簡化方法
(也隐形的調用了iterator)
//set && list
for (String text :set/list)
{
System.out.println(text);
}
//map
for(Map.Entry<String,String> pair : map.entrySet())
{
String key= pair.getKey();
String value = pair.getValue();
System.out.println(key+":"+value);
}