包裝類
在Java語言中,每一種基本的數據類型都有相應的對象類型,稱為他們基本類型的包裝類(包裹類)。
字節byte:Byte、短整數型short:Short
標準整數型int:Integer、長整數型long:Long
單精度實數型float:Float、雙精度實數型double:Double
布爾型boolean:Boolean、字符型char:Character、無類型void:Void
在Java語言系統中,定義有一些數據集合(組合)類(接口),它們主要包含在java.util系統包中,如向量類Vector、接口List和Set等.
這些類和接口中的數據成員(元素)只允許保存對象類型,不允許保存基本的數據類型
一般情況下,將基本數據類型封裝為包裝類對象,可以通過包裝類的構造函數。從包裝類對象得到基本數據類型,可以通過包裝類對象的xxxValue函數,高版本的JDK中也可以直接賦值.
簡單數據類型和包裝類的自動轉換, 能夠把常量直接賦值給對應的包裝類,或把包裝類直接賦值給簡單變量
每個包裝類同樣都繼承了系統基類java.lang.Object,重新定義了boolean equals(Object obj)成員函數和String toString()成員函數。equals()用來比較當前調用對象this與參數對象obj是否相等,實際上是比較它們的成員值是否相等,若是則返回true,否則返回false。當輸出一個包裝類對象時,將自動調用它的**toString()**成員函數,輸出調用該函數所返回的字符串,實際上在每個包裝類中定義的toString()成員函數,返回的是包裝類的值所轉換而成的字符串。
每個包裝類同樣都實現了系統提供的用來比較大小的接口Comparable,實現了該接口中定義的抽象成員函數int compareTo(Object obj),當調用對象this的值大于參數對象obj的值時返回正數,小于時返回負數,相等時返回0。
進行包裝類對象大小的比較和判斷是否相等,可以調用相應的成員函數,也可以直接使用關系運算符進行比較。
向量類Vector
在Java中有許多與數據集合有關的接口及類,包含在由系統提供的java.util包中。
向量類(Vector)是實現了集合Collection接口和List接口的的具體類。
同數組類似,向量類可以存儲數據,不同的地方在于,向量類對象的元素類型必須是類類型,而不能時簡單的數據類型。數據的元素類型既可以是類類型也可以是基本數據類型。
向量對象的長度可以隨著插入數據而自動增加。但是數組的長度是固定的。
訪問數組元素通過下標運算符,訪問向量類對象中的元素通過向量類中定義的成員函數。
Vector<元素類>對象名= new Vector<元素類>();
常用成員函數:
boolean add(E obj);
向向量末尾插入一個元素obj,E表示元素類型void add(int index, E obj)
向向量中下標為index的位置插入一個元素obj,該位置及后面位置的所有元素均后移一個位置int size();
返回向量中當前保存的元素個數(向量長度)E get(int index);
返回向量中下標為index的元素值E set(int index, E obj);
把下標為index的元素值修改為obj的值boolean remove(E obj)
刪除向量中與obj值相同的第一個元素,其后的所有元素值前移,刪除成功返回真,否則返回假。E remove(int index)
刪除向量中下標為index的元素,其后的所有元素值前移,刪除成功返回該元素值,否則返回空值boolean contains(E obj)
判斷obj是否存在于當前向量中,若存在則返回真,否則返回假void clear();
刪除向量中的所有元素,使之變為一個空向量,此時向量長度size()的值為0
for循環的簡化形式
for(<元素類型> <變量名> : <數組或集合對象名>) <循環體>
其中的元素類型就是數組或者向量的元素的數據類型,變量名就是用來遍歷的元素,冒號右面就是數組或者向量名。我們可以在循環體中操作變量,這樣就可以實現對所有元素進行操作。