java集合框架詳解

集合的特點:
一個數組中只能存儲同一數據類型,一個集合中可以存儲不同數據類型的數據,集合用於存儲多個對象。
數組是固定長度,集合是可變長度。
集合中不可以存儲基本數據類型值,數組可以。

集合框架體系圖:
這裏寫圖片描述

Collection集合:

具有的方法:
boolean add(E e):添加元素
boolean addAll(Collection e);添加多個(集合)
boolean remove(Object o);刪除一個元素
boolean removeAll(Collection c);刪除多個
boolean clear();清空,將集合中的所有元素刪掉,集合還存在
boolean contains(Object o);集合是否包含某個元素
boolean containsAll(Collection c);是否包含集合中的所有元素
int size();返回此集合的元素個數
boolean isEmpty();如果集合爲空,返回true
boolean retainAll(Collection c);取交集
Object[] toArray();將集合轉成數組

迭代器:
Iterator iterator();返回此集合的元素上進行迭代的迭代器對象
boolean hasNext();是否還有下一個元素
E next();返回迭代的下一個元素
void reMove();從迭代器中移除元素

迭代器必須依賴於具體容器,因爲每一個容器的數據結構都不同。所以該迭代器對象是在容器中進行內部實現的。
對於使用容器者而言,具體的實現不重要,只要通過容器獲取到該實現的迭代器對象即可,不能直接new出迭代器對象,只能通過」集合.iterator()」獲取到迭代器對象。
Iterator接口就是對所有的collection容器進行元素取出的公共接口。

Collection集合子類詳解:

Collection集合之List集合詳解

Collection集合之Set集合詳解

Map集合及其子類詳解:

Map集合詳解

Collection集合總結:

1.看到Array,就要想到數組,就要想到查詢快,有角標; 2.看到Link,就要想到鏈表,就要想到增刪快,就要想到add get remove +first last的方法; 3.看到Hash,就要想到哈希表,就要想到唯一性,就要想到元素需要覆蓋hashcode方法和equals方法; 4.看到tree,就要想到二叉樹,就要想到排序,就要想到兩個接口Comparable,Comparator; 而且通常這些常用的集合容器都是不同步的。