天天看點

java.util包

按照Java8官方文檔對java.util包的定義:java.util包是包含集合架構、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字元串标記生成器、随機數生成器和位數組、日期Date類、堆棧Stack類、向量Vector類等)、集合類、時間處理模式、日期時間工具等各類常用工具包。下面這張圖概括了java.util包的基本構成

java.util包

下面按照重要性以及常用性來介紹其中重要的類。

1.日期類Date:在日期類中定義了六種構造函數

(1)public Date()

Date today=new Date();//today被設定成建立時刻相對應的日期時間
           

(2)public Date (long date):long 型的參數date可以通過調用Date類中的static方法parse(String s)來獲得。

long longDate=Date.parse("Mon 6 Jan 1997 13:3:00");
Date day=new Date(longDate);//day中時間為1997年 1月6号星期一,13:3:00
           

(3)public Date(String s)

Date day=new Date("Mon 6 Jan 1997 13:3:00");
           

(4)public Date(int year,int month,int date)

(5)public Date(int year,int month,int date,int hrs,int min)

(6)public Date(int year,int month,int date,int hrs,int min,int sec)

下圖是事件類的一些常用方法:

java.util包

2.月曆類Calendar:類Calendar是一個抽象類,它完成日期(Date)類和普通日期表示法(即用一組整型域如YEAR,MONTH,DAY,HOUR表示日期)之間的轉換。

3.随機數類Random:随機數類中一個比較重要的方法是nextInt(int agr0),産生一個0~arg0内的随機整數。

4.向量類Vector:java.util.Vector提供了向量(Vector)類以實作類似動态數組的功能。

5.棧類Stack:Stack類是Vector類的子類。它向使用者提供了堆棧這種進階的資料結構。棧的基本特性就是先進後出。即先放入棧中的元素将後被推出。Stack類中提供了相應方法完成棧的有關操作。

6.哈希表類Hashtable:哈希表是一種重要的存儲方式,也是一種常見的檢索方法。其基本思想是将關系碼的值作為自變量,通過一定的函數關系計算出對應的函數值,把這個數值解釋為結點的存儲位址,将結點存入計算得到存儲位址所對應的存儲單元。

7.位集合類BitSet:位集合類中封裝了有關一組二進制資料的操作。

8.Collection接口:Java SDK不提供直接繼承自Collection的類,Java SDK提供的類都是繼承自Collection的“子接口”如List和Set。所有實作Collection接口的類都必須提供兩個标準的構造函數:無參數的構造函數用于建立一個空的Collection,有一個Collection參數的構造函數用于建立一個新的Collection,這個新的Collection與傳入的Collection有相同的元素。後一個構造函數允許使用者複制一個Collection。

9.List接口:List是有序的Collection,使用此接口能夠精确的控制每個元素插入的位置。使用者能夠使用索引(元素在List中的位置,類似于數組下标)來通路List中的元素,這類似于Java的數組。

實作List接口的常用類有LinkedList,ArrayList,Vector和Stack。

10.Set接口:Set是一種不包含重複的元素的Collection,即任意的兩個元素e1和e2都有e1.equals(e2)=false,Set最多有一個null元素。

11.Map接口:Map沒有繼承Collection接口,Map提供key到value的映射。一個Map中不能包含相同的key,每個key隻能映射一個value。Map接口提供3種集合的視圖,Map的内容可以被當作一組key集合,一組value集合,或者一組key-value映射。