Java集合是使程序能夠存儲和操縱元素不固定的一組數據。 所有Java集合類都位于java.uti包中。
與Java數組不同,Java集合中不能存放基本數據類型,只能存放對象的引用。但是在JDK5.0以后的版本當中,JAVA增加了
“自動裝箱”和“自動拆箱”的機制,比如如果要存入一個INT類型的數據,JVM會把數據包裝成Integer然后再存入集合,
看起來集合能夠存入基本數據類型,其實是不能的只是多了一個包裝數據的過程。
而且存入集合的數據都會被轉換成OBject類型。
Java集合主要分為以下
3種類型:
Set(集):集合中的對象不按特定方式排序,并且沒有重復對象。它的有些實現類能對集合中的對象按特定方式排序。一個存儲區只能存單一值元素。
List(列表):集合中的對象按照索引位置排序,可以有重復對象,允許按照對象在集合中的索引位置檢索對象。List
與數組有些相似。
Map(映射):集合中的每一個元素包含一對鍵對象和值對象,集合中沒有重復的鍵對象,但值對象可以重復。它的有些實現
類能對集合中的鍵對象進行排序。
Collection和Iterator接口:
Collection接口:
在Collection接口中聲明了適合Java集合(只包括Set和List)的通用方法。
Collection接口方法列表
方法? 描述
boolean?add(Object?o)? ? 向集合加入一個對象的引用
void?clear()?? 刪除集合中所有對象,即不在持有對象的引用
boolean?contains(Object?o)? ?判斷在集合中是否持有對象的引用
boolean?isEmpty() ?判斷集合是否為空
Iterator?iterator() ?返回一個Iterator對象,可以用它來遍歷集合中的元素
boolean?remove(Object?o) ? ?從集合中刪除一個對象的引用
int?size() ? ? 返回集合中元素的個數
object[]?toArray()? 返回一個數組,該數組包含集合中的所有元素
注:Set接口和List接口都繼承了Collection接口,而Map接口沒有繼承Collection接口,因此Set和List對象可以調用以下方法,但Map對象不能調用。
Iterator接口:
Collection接口的iterator()和toArray()方法都用于獲得集合中的所有元素,前者返回一個Iterator對象,后者返回一個包含集合中所有元素的數組。
Iterator接口隱藏底層集合中的數據結構,提供遍歷各種類型集合的統一接口。Iterator接口中聲明如下的方法:
1,、hasNext():判斷集合中的元素是否遍歷完畢,如果沒有,返回true。
2、next():返回下一個元素。
3、remove():從集合中刪除上一個由next()方法返回的元素。