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