JAVA集合(Collection、Map)

JDK中提供了一系列特殊的類,這些類中可以存儲任意類型的對象,並且長度可變,統稱爲集合。

這些類都位於java.util包中,在使用時一定要注意導包的問題,否則會出現異常。

集合按照其存儲結構可以分爲兩大類,即單列集合Collection和雙列集合Map,這兩種集合的特點具體如下:

  • Collection:單列集合的根接口,用於存儲一系列符合規則的某種元素,它有兩個重要的的子接口,分別是List和Set。其中,List的特點是元素有序、元素可重複。Set的特點是元素無序並且不可重複。List接口的主要實現類有ArrayList和LinkedList,Set接口的主要實現類有HashSet和TreeSet。

  • Map:雙列集合的根接口,用存儲具有鍵(Key)值、(Value)映射關係的元素。每個元素都包含一對鍵值,在使用Map集合時可以通過指定的Key找到對應的Value。Map的主要實現類有HashMap、TreeMap和HashTable。

Collection:

Collection是所有單列集合的父接口,因此在Collection中定義了單列集合(List和Set)通用的一些方法,這些方法可用於操作所有的單列集合。

方法聲明 功能描述
boolean add(Object o) 向集合中添加一個元素
boolean addAll(Collection c) 將指定的Collection中所有的元素添加到該集合
void clear() 刪除該集合中所有元素
boolean remove(Object o) 刪除該集合中指定元素
boolean removeAll(Collection c) 刪除指定集合中的所有元素
boolean isEmpty() 判斷該集合是否爲空
boolean contains(Object o) 判斷該集合中是否包含某個元素
boolean containsAll(Collection c) 判斷該集合中是否包含指定集合中的所有元素
Iterator iterator() 返回該集合元素上進行迭代的迭代器,用於遍歷該集合所有元素
int size() 獲取該集合的元素個數
Object[] toArray() 返回一個包含該集合所有元素的數組
... ...

 

List:

List接口繼承自Collection接口,是單列集合的一個重要分支,習慣性地會將實現List接口的對象稱爲List集合。List集合中允許出現重複元素,已線性存儲的方式存儲,可以通過索引號來訪問元素。

List作爲Collection的子接口,不僅繼承了Collection接口的全部方法,還增加了一些通過索引號來操作集合元素的方法。

方法聲明

功能描述

void add(int index,Object element) 將元素element插入在List集合的index處
boolean addAll(int index,Collection c) 將集合c所包含的全部元素插入到在List集合的index處
Object get(int index) 返回集合索引號index處的元素
Object remove(int index) 刪除集合索引號index處的元素
Object set(int index,Object element) 將索引index處的元素替換成element對象,並將被替換的元素返回
int indexOf(Object o) 返回對象o在List集合出現的位置索引
int lastIndexOf(Object o) 返回對象o在List集合最後一次出現的位置索引
List subList(int fromIndex,int toIndex) 返回從索引fromIndex到toIndex處所有元素集合成的子集合,前開後閉

 List接口下的所有集合容器都擁有索引(index),因此List集合不僅可以通過迭代器去遍歷,還可以通過索引號來遍歷,List集合還提供了一種特有的迭代器ListIterator。

Iterator(迭代器)只能從前往後遍歷集合,一旦遍歷結束,迭代器的隱式光標就會位於集合的最後一個元素的後面,此迭代器就無法再對集合進行遍歷。而ListIterator不僅可以對集合進行從前往後的遍歷,還可以從後往前遍歷集合,同時還提供了對集合的增刪改查方法。

未完。。。待補充。。。如若以往請提醒一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章