java.util包含集合框架、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字符串標記生成器、隨機數生成器和位數組、日期Date類、堆棧Stack類、向量Vector類等)。集合類、時間處理模式、日期時間工具等各類常用工具包
java的集合框架為程序提供了一種處理對象組的標准方式。設計了一系列標准泛型接口:
⑴Collection ()接口,擴展了Iterable接口,位於集合層次結構的頂部,因此所有的集合都實現Collection接口,並提供了iterator()方法來返回一個迭代器。用add()方法添加對象,remove()方法刪除元素,clear()刪除集合所有元素(size=0),contains()方法查看集合是否包含對象,toArray()方法返回集合元素數組,equals()方法比較兩個集合是否相等,size()方法返回集合中元素的數目,isEmpty()判斷集合是否為空,hashCode()返回調用集合的散列碼,iterator()返回調用集合的迭代器。
⑵List()接口,擴展了Collection接口,存儲一個序列的元素(列表基於0的索引),可以包含重復的元素,但不能有null值。獲得特定位置的對象調用get()方法,用set()方法給特定位置元素賦值,用indexOf()或lastIndexOf()方法分別獲得對象的第一個實例或最后一個實例所在的位置,subList()方法取子列表,listIterator()返回一個迭代器。
⑶Set接口,擴展了Collection接口,該集合不允許存在相同的元素(包括唯一null值)。SortedSet接口,擴展了Set接口並聲明自已是升序的集合。First()或Last()方法分別獲得第一或最后一個對象,subSet()獲得子集,headSet()和tailSet()方法分別獲得從頭開始或直到末尾的子集。
⑷Queue(隊列)接口,擴展了Collection接口,並聲明一個隊列行為(FIFO,先進先出列表)。Offer()方法在隊列尾插入元素。element()和peek()方法獲得但不移除隊列的第一個元素,如果隊列為空,element()拋出NoSuchElementException異常,peek()返回null。poll()和remove()方法獲得並移除隊列的第一個元素,如果隊列為空,poll()返回null,remove()拋出異常。
⑸Comparator(比較器)接口,定義了兩個方法:compare()和equals()方法,通過改寫compare()方法,能夠改變對象排序的方式。
⑹Iterator(迭代器)接口、ListIterator(列表迭代器,可進行雙向遍歷)接口,一般來說,使用迭代器在集合中遍歷時應遵循下面的步驟:一通過集合的iterator()得到一個指向集合開始處的迭代器:Iterator itr=collectionObject.iterator();二設置一個判斷是否有下一個元素的循環:如while(itr.hasNext()){。三在循環中取出下一個元素:如Object element=itr.next();
⑺RandomAccess(隨機訪問)接口。被ArrayList類和遺留的Vector類實現。
⑻Map(映射)接口、Map.Entry (Map的嵌套類、內部類)接口、SortedMap(默認按key鍵升序排列的映射)接口。映射是將鍵映射到值的對象,一個映射不能包含重復的鍵;每個鍵最多只能映射一個值。Map接口提供三種collection 視圖:鍵集、值集合或鍵-值映射關系集。映射不是集合,因為它們不實現Collection接口,但是可以通過使用entrySet()方法獲得鍵-值映射關系的集合視圖跟效果,或使用keySet()方法獲得鍵的集合視圖,使用values()方法獲得值的集合視圖。put()方法將值放入映射中,get()得到與鍵k相關聯的值。SortedMap接口增加了獲取子映射的headMap()、tailMap()、subMap()方法和獲取首尾鍵的firstKey()、lastKey()方法。Map.Entry接口定義了獲取鍵值的getKey()、getValue()方法和替換值的setValue()方法。
Collection集合的有序是Set,Map的有序是TreeMap。
異常:試圖增加一個不兼容的對象到集合或映射中,將拋出ClassCastException;如果使用無效索引,拋出IndexOutOfBoundException;null不允許存在於集合或映射中,如果試圖使用null對象,拋出NullPointException;當修改不可改變的集合或映射時,拋出UnsupportedOperationException;當調用下一個對象不存在時,拋出NoSuchElementException;集合框架接口示意(父類∈子類):1、Collection∈⑴List,⑵Set∈SortedSet。2、Map∈SortedMap。
另外: