java.util

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。

相關內容

包規範

Collections Framework Overview

Collections Framework Annotated Outline

相關文檔

有關概述、教程、示例、指南和工具文檔的信息,請參閱:

Collections Framework Tutorial

Collections Framework Design FAQ

從以下版本開始:

JDK1.0

Java的實用工具類庫java.util包。在這個包中,Java提供了一些實用的方法和數據結構。例如,Java提供日期(Data)類、日曆(Calendar)類來產生和獲取日期及時間,提供隨機數(Random)類產生各種類型的隨機數,還提供了堆疊(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等類來表示相應的數據結構。

下圖給出了java.util包的基本層次結構圖。下面我們將具體介紹其中幾個重要的類。

┌java.util.BitSet

│java.util.Calendar

│ └java.util.GregorianCalendar

│java.util.Date

│java.util.Dictionary

│ └java.util.Hashtable

│ └java.util.Properties

│java.util.EventObject

│java.util.ResourceBundle

┌普通類┤ ├java.util.ListResourceBundle

│ │ └java.util.PropertyResourceBundle

│ │java.util.Local

│ │java.util.Observable

│ │java.util.Random

│ │java.util.StringTokenizer

│ │java.util.Vector

│ │ └java.util.Stack

Java.util┤ └java.util.TimeZone

│ └java.util.SimpleTimeZone

│ ┌java.util.Enumeration

├接 口┤java.util.EventListener

│ └java.util.Observer

│ ┌java.util.EmptyStackException

└異常類┤java.util.MissingResourceException

│java.util.NoSuchElementException

└java.util.TooManyListenersException

相關詞條

相關搜尋

熱門詞條

聯絡我們