綜述java
Java集合就是一個容器。面嚮對象語言對事物的體現都是以對象的形式存在,因此爲了方便對多個對象的操做,就對對象進行存儲,集合就是存儲對象最經常使用的一種方式。集合只用於存儲對象,集合長度是可變的,集合能夠存儲不一樣類型的對象。若是往集合裏存放基本數據類型,在存取過程當中會有個自動裝箱和拆箱。數組
由於容器中數據結構不一樣,容器有不少種。不斷地將共性功能向上抽取,造成了集合體系,稱之爲集合框架。數據結構
集合框架的頂層就稱之爲Collection接口。全部的集合類都位於java.util包下,查閱API能夠獲得以下體系結構。在使用一個體系時,原則:參閱頂層內容。創建底層對象。框架
1:數組是固定長度的;集合可變長度的。code
2:數組能夠存儲基本數據類型,也能夠存儲引用數據類型;集合只能存儲引用數據類型。對象
3:數組存儲的元素必須是同一個數據類型;集合存儲的對象能夠是不一樣數據類型。
------------------------------------------------------------------------------------------------------------------------------------
blog
Collection<E>接口索引
Collection:單列集合接口
|--List:有序(元素存入集合的順序和取出的順序一致),元素都有索引,容許重複元素。
|--Set:無序(存入和取出順序有可能不一致),不容許重複元素,必須保證元素的惟一性。
java.util.Collection接口中的共性方法有(抽象方法):
1.添加:
boolean add(Object obj):一次添加一個。
boolean addAll(Collection c):將指定容器中的全部元素添加。
2.刪除:
void clear():將集合中的元素全刪除,清空集合。
boolean remove(Object o):刪除集合中指定的對象。注意:刪除成功,集合的長度會改變。
boolean removeAll(Collection c):刪除部分元素。部分元素和傳入Collection一致.
boolean removeIf(Predicate<? super E> filter) 刪除刪除知足給定謂詞的這個集合的全部元素。
3.取交集:
boolean retainAll(Collection c):對當前集合中保留和指定集合中的相同的元素。
若是兩個集合元素相同,返回false;若是retainAll修改了當前集合,返回true。
4.獲取長度:
int size():集合中有幾個元素。
5.判斷:
boolean isEmpty():集合中是否有元素。
boolean contains(Object o):集合中是否包含指定元素。
boolean containsAll(Collection c)集合中是否包含指定的多個元素。
6.將集合轉成數組。
Object[] toArray()
<T> T[] toArray(T[] t)
7.取出集合元素。
Iterator iterator():獲取集合中元素上迭代功能的迭代器對象。
=========================================================================
Iterator<E>接口
java.util.Iterator接口是一個對 collection 進行迭代的迭代器,做用是取出集合中的元素。
Iterator iterator():獲取集合中元素上迭代功能的迭代器對象。
迭代:取出元素的一種方式。有沒有啊?有!取一個。還有沒有啊?有!取一個。還有沒有啊?沒有。算了。
迭代器:具有着迭代功能的對象。迭代器對象不須要new。直接經過 iterator()方法獲取便可。
迭代器是取出Collection集合中元素的公共方法。
每個集合都有本身的數據結構,都有特定的取出本身內部元素的方式。爲了便於操做全部的容器,取出元素,將容器內部的取出方式按照一個統一的規則向外提供,這個規則就是Iterator接口。
也就說,只要經過該接口就能夠取出Collection集合中的元素,至於每個具體的容器依據本身的數據結構,如何實現的具體取出細節,這個不用關心,這樣就下降了取出元素和具體集合的耦合性。
Iterator it = coll.iterator();//獲取容器中的迭代器對象,至於這個對象是是什麼不重要。這對象確定符合一個規則Iterator接口。
---------------------
做者:李春春_
來源:CSDN
原文:http://www.javashuo.com/article/p-kvwgggkq-hw.html
版權聲明:本文爲博主原創文章,轉載請附上博文連接!