Collection是一個interface, 主要用來處理物件的集合
根據不同性質的物件處理, 來實作Set, List, Queue, Map等

內建的method有
boolean add(E e): 加入目標元素, 成功回傳true, 失敗回傳false
boolean addAll(Collection<? extends E> c): 將Collection c內的元素都加入到目標, 成功回傳true, 失敗回傳false
void clear(): 清除目標collection內所有的元素
boolean contains(Object o): 判斷collection內是否包含目標物件, 有則回傳true, 否則回傳false
boolean containsAll(Collection<?> c): 判斷collection內是否包含Collection c的所有元素, 有則回傳true, 否則回傳false
boolean equals(Object o): 判斷目標物件與collection是否相等, 相等則回傳true, 不相等則回傳false
int hashCode(): 回傳該collection的hash code
boolean isEmpty(): 如果該collection的元素個數是零則回傳true, 否則回傳false
Iterator<E> iterator(): 回傳該collection的iterator
boolean remove(Object o): 移除目標元素, 成功回傳true, 失敗回傳false
boolean removeAll(Collection<? extends E> c): 將包含Collection c內的元素都移除, 成功回傳true, 失敗回傳false
boolean retainAll(Collection<? extends E> c): 將包含Collection c以外的元素都移除, 成功回傳true, 失敗回傳false
int size(): 回傳目標collection的元素個數
Object[] toArray(): 回傳包含目標collection所有元素的array
<T> T[] toArray(T[] a): 回傳包含目標collection所有元素的array, 並將Array的格式指定為特定的類型
ex:
c是一種Collection<String>, 則使用如下
String[] a = c.toArray(new String[0]);

Collection內元素的拜訪主要有三種方式
第一種就是for-each Construct
ex:
for (Object o : collection)
System.out.println(o);

第二種是JDK8以後才能用的Aggregate Operations
ex:
collection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

最後就是常見的Iterators
ex:
static void filter(Collection<?> c) {
for (Iterator<?> it = c.iterator(); it.hasNext(); )
if (!cond(it.next()))
it.remove();
}

 

1.  官網https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html

01.png

 

2. 官網https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html

02.png  

arrow
arrow
    文章標籤
    Java Collection
    全站熱搜

    RX1226 發表在 痞客邦 留言(0) 人氣()