九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java的常用類

Java的常用類

Java有一系列功能強大的可重用類,分別在不同的包中,這些包按功能可劃分為:語言包java.lang(language)、輸入/輸出包java.io、實用程序包java.util(utility)、小應(yīng)用程序包java.applet、圖形用戶接口包java.swing、java.awt和網(wǎng)絡(luò)包java.net等。有時人們稱前三種包為java的基礎(chǔ)包。

Java常用包的簡單介紹如下:

1)java.lang包  主要含有與語言相關(guān)的類,如Math類,System類。java.lang包由解釋程序自動加載,不需顯式說明,

2)java.io包  主要含有與輸入/ 輸出相關(guān)的類,這些類提供了對不同的輸入和輸出設(shè)備讀寫數(shù)據(jù)的支持,這些輸入和輸出設(shè)備包括鍵盤、顯示器、打印機、磁盤文件和網(wǎng)絡(luò)等。

3)java.util包  包括許多具有特定功能的類,有日期、向量、哈希表、列表和堆棧等。

4)java.swing包和java.awt包 提供了創(chuàng)建圖形用戶界面元素的類。通過這些元素,編程者可以控制所寫Applet或程序的外觀界面。該包中包含定義窗口、對話框、按鈕、復(fù)選框、列表、菜單、滾動條及文本域的類。

5)java.net包  含有與網(wǎng)絡(luò)操作相關(guān)的類,如TCP sockets、URL以及二進制碼向ASCII碼轉(zhuǎn)換的工具。

6)java.applet包  含有控制Hotjava瀏覽器的類,這些類可以控制HTML文檔格式、應(yīng)用程序中的聲音資源等,其中Applet類是用來創(chuàng)建包含于HTML頁內(nèi)的applet必不可少的類。

Java語言包(java.lang

Java語言的核心部分就是java.lang包, 它定義了Java中的大多數(shù)基本的類。每個java程序都自動導(dǎo)入java.lang包,由此可見該包的重要性。

java.lang 包中包含了Object類,java.lang.Object類是Java中整個類層次結(jié)構(gòu)的根結(jié)點,這個軟件包還定義了基本數(shù)據(jù)類型的類:String、Boolean、Character、Byte、Integer、Short、Long、Float和Double等。這些類支持?jǐn)?shù)字類型的轉(zhuǎn)換操作。java.lang包中的其他類還有:

Class:為運行時搜集的信息,如對instanceof操作符提供支持。

Math:提供像PI 和E 這樣的數(shù)學(xué)常數(shù)及各種函數(shù)。

System:提供對操作系統(tǒng)的訪問,包括默認(rèn)的I/O流、環(huán)境變量、自動垃圾收集、系統(tǒng)時間和系統(tǒng)屬性,許多System方法可訪問Runtime類的方法。

Runtime:提供對操作系統(tǒng)的訪問,使用java.lang.Runtime 可以使應(yīng)用程序容易與它所運行的環(huán)境協(xié)調(diào)。

Thread:Thread和java.lang.Runnable接口協(xié)同作用提供對Java中多線程的支持。

Throwable:它是Java中所有異常(Exception)的基類,是java.lang.Exception、java.lang.Error和java.lang.RuntimeException的父類。應(yīng)用程序運行發(fā)生意外時,異常和錯誤類就拋出對象。

1Integer

Integer 類是基本類型 int類型的包裝類。該類提供了多個方法,能在 int 類型和 String 類型之間互相轉(zhuǎn)換,還提供了處理 int 類型時非常有用的其他方法。

1)屬性:

static int MAX_VALUE:返回最大的整型數(shù);

static int MIN_VALUE:返回最小的整型數(shù);

static Class TYPE:返回當(dāng)前類型。

例:

System.out.println('Integer.MAX_VALUE: ' Integer.MAX_VALUE );

結(jié)果為:Integer.MAX_VALUE: 2147483647

2)構(gòu)造方法:

Integer(int value) :通過一個int類型的變量構(gòu)造對象;

Integer(String s) :通過一個String的類型構(gòu)造對象;

例:

Integer i = new Integer('1234');

生成了一個值為1234的Integer對象。

3)常用方法:

1’byteValue():取得用byte類型表示的整數(shù);

2’int compareTo(Integer anotherInteger) :比較兩個整數(shù)。相等時返回0;小于時返回負(fù)數(shù);大于時返回正數(shù)。

例:

Integer i = new Integer(1234);

System.out.println('i.compareTo: ' i.compareTo(new Integer(123)) );

結(jié)果為:i.compareTo: 1

3’int compareTo(Object o) :將該整數(shù)與其他類進行比較。如果o也為Integer類,進行方法2 的操作;否則,拋出ClassCastException異常。

4’int intValue() : 返回該整型數(shù)所表示的整數(shù)。

5’long longValue() :返回該整型數(shù)所表示的長整數(shù)。

6’static int parseInt(String s) :將字符串轉(zhuǎn)換成整數(shù)。s必須是時進制數(shù)組成,否則拋出NumberFormatException異常。

7’ static int parseInt(String s, int radix) :以radix為基數(shù)radix返回s的十進制數(shù)。所謂的基數(shù),就是“幾進制”。

8’short shortValue() :返回該整型數(shù)所表示的短整數(shù)。

9’static String toBinaryString(int i) :將整數(shù)轉(zhuǎn)為二進制數(shù)的字符串。

10’static String toHexString(int i) :將整數(shù)轉(zhuǎn)為十六進制數(shù)的字符串。

11’static String toOctalString(int i) :將整數(shù)轉(zhuǎn)為八進制數(shù)的字符串。

12’String toString() :將該整數(shù)類型轉(zhuǎn)換為字符串。

13’static String toString(int i) :將該整數(shù)類型轉(zhuǎn)換為字符串。不同的是,此為類方法。

14’static String toString(int i, int radix) :將整數(shù)i以基數(shù)radix的形式轉(zhuǎn)換成字符串。

例:

int i1 = 54321;

System.out.println('Integer.toString(int i,int radix): ' Integer.toString(i1,16) );

結(jié)果為:Integer.toString(int i, int radix): d431

Float、Double、Character等基本類型的類使用方法基本類似,這里就不再詳述,用到時查閱API即可。

2StringBuffer

在實際應(yīng)用中,經(jīng)常會遇到對字符串進行動態(tài)修改。StringBuffer類可以完成字符串的動態(tài)添加、插入和替換等操作。

1)構(gòu)造方法:

StringBuffer() :構(gòu)造一個沒有任何字符的StringBuffer類。

StringBuffer(int length) : :構(gòu)造一個沒有任何字符的StringBuffer類,并且,其長度為length。

StringBuffer(String str) :以str為初始值構(gòu)造一個StringBuffer類。

2)常用方法:

1’StringBuffer append(元素類型)

向字符串緩沖區(qū)“追加”元素,這個“元素”參數(shù)可以是布爾量、字符、字符數(shù)組、雙精度數(shù)、浮點數(shù)、整型數(shù)、長整型數(shù)對象類型的字符串、字符串和StringBuffer類等。如果添加的字符超出了字符串緩沖區(qū)的長度,Java將自動進行擴充。

2’int capacity() :返回當(dāng)前StringBuffer對象(字符串緩沖區(qū))的總空間,而非字符號串的長度。

3’char charAt(int index) :在當(dāng)前StringBuffer對象中取索引號為index的字符。第一個字符的索引為“0”

4’StringBuffer delete(int start, int end) :刪除當(dāng)前StringBuffer對象中以索引號start開始,到end結(jié)束的子串。

5’ StringBuffer deleteCharAt(int index) :刪除當(dāng)前StringBuffer對象中索引號為index的字符。

6’StringBuffer insert(int offset, 類型名 參數(shù)名)

在當(dāng)前StringBuffer對象中插入一個元素,在索引號offset處插入相應(yīng)的值。

7’StringBuffer reverse() :將字符串翻轉(zhuǎn)。

StringBuffer sb = newStringBuffer('0123456789');

System.out.println( 'sb.reverse(): ' sb.reverse() );

結(jié)果為:sb.reverse(): 9876543210

8’void setLength(int newLength) :重新設(shè)置字符串緩沖區(qū)中字符串的長度,如果newLength小于當(dāng)前的字符串長度,將截去多余的字符。

StringBuffer sb = newStringBuffer('0123456789');

sb.setLength(5);

System.out.println( 'sb: ' sb );

結(jié)果為:sb: 01234

9’String substring(int start) :取當(dāng)前StringBuffer對象中,從start開始到結(jié)尾的子串。

10’String substring(int start, int end) :取當(dāng)前StringBuffer對象中,從start開始到end的子串。

11’String toString() :將當(dāng)前StringBuffer對象轉(zhuǎn)換成String對象。


3Math

java.lang.Math類是標(biāo)準(zhǔn)的數(shù)學(xué)類,封裝了一些數(shù)學(xué)函數(shù)和常量。

1)三角函數(shù)

下面的三個方法接受一個double類型的且以弧度為單位的角度值,并返回相應(yīng)的運算結(jié)果。

1’sin(double a) 返回角度a的sin值;

2’cos(doublea) 返回角度a的cos值;

3’tan(doublea) 返回角度a的tan值;

下面的方法是反三角函數(shù):

4’asin(double r) 返回 sin值為r的角度值;

5’acos(double r) 返回 cos值為r的角度值;

6’atan(double r) 返回 tan值為r的角度值。

2)乘方

1’pow(double y,double x) 返回y的x次方,例如,Math.pow(2.0,3.0)返回結(jié)果為8.0;

2’exp(double x) 返回ex ;

3’log(double x) 返回x的自然對數(shù);

4’sqrt(double x) 返回x的平方根。

3)舍入

1’ceil(double a) 返回大于或等于a的最小整數(shù)值;

2’floor(double a)返回小于或等于a的最大整數(shù)值;

3’rint(double a) 返回舍入尾數(shù)后接近a的整型值;

4’round(float a) 返回舍入尾數(shù)后最接近a的整型值;

5’round(double a)返回舍入尾數(shù)后最接近a的長整型值。

4)其他 

下面是幾個應(yīng)用于int、long、float和double類型的方法:

1’abs(a)  返回a的絕對值;

2’max(a,b)返回a和b的最大值;

3’min(a,b)返回a和b的最小值。

4System

在 System 類中,有標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯誤輸出流;可以實現(xiàn)對外部定義的屬性和環(huán)境變量的訪問、加載文件和庫的方法以及快速復(fù)制數(shù)組的方法等等。

System類不能被實例化。它有三個非常有用的對象:

static PrintStream err “標(biāo)準(zhǔn)”錯誤輸出流。

static InputStream in  “標(biāo)準(zhǔn)”輸入流。

static PrintStream out “標(biāo)準(zhǔn)”輸出流。

常用的方法有:

static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length) 從指定源數(shù)組中復(fù)制一個數(shù)組,復(fù)制從指定的位置開始,到目標(biāo)數(shù)組的指定位置結(jié)束。

static long currentTimeMillis() 返回以毫秒為單位的當(dāng)前時間。

static void exit(int status) 終止當(dāng)前正在運行的 Java 虛擬機。按照慣例,非零的狀態(tài)碼表明非正常終止。

static void gc() 運行垃圾回收器。

5Runtime

每個 Java 應(yīng)用程序都對應(yīng)一個 Runtime 類實例,應(yīng)用程序不能創(chuàng)建自己的 Runtime 類實例,但可以通過 getRuntime 方法獲取當(dāng)前運行時。

Runtime 類提供了很多方法,請閱讀JDK的相關(guān)文檔。

Java程序運行時,本身啟動了一個進程,在這個進程中如何啟動一個新進程呢?在Runtime中提供了一個exec方法,可以實現(xiàn)該功能。

java.util

java.util包提供了許多實用的類,如:日期、向量、哈希表、列表和堆棧等。

1.日期時間類

日期時間類是一個相對簡單、但又使用頻繁的類。利用日期時間類提供的方法,可以獲取當(dāng)前日期和時間,計算某年或某月的天數(shù),或者對當(dāng)前日期進行比較等。

1)構(gòu)造方法:

1’public Date()

這個構(gòu)造方法將把當(dāng)前日期和時間保存到所創(chuàng)建的Date實例中。

2’public Date(int year, int month, int date)

根據(jù)所給定的year、month、date參數(shù)創(chuàng)建一個Date 實例。利用此構(gòu)造方法,所創(chuàng)建的Date實例表示的日期與年(year)、月(month)、日(day)參數(shù)表示的日期等同。

3’public Date(int year, int month, int date, int hours, int minutes)

這個構(gòu)造方法類似于第2個方法,只不過這里還提供了具體的小時(hours)和分鐘(minutes)參數(shù),因而時間要更為精確。

4’public Date(int year, int month, int date, int hours,int minutes,intseconds)

這個構(gòu)造方法類似于第3個方法,所不同的是這里還提供了具體的秒(seconds)參數(shù),時間又精確了一些。

一旦創(chuàng)建了日期時間類的一個實例,就可以用它的方法來檢索有關(guān)日期和時間的信息。

2)方法:

1’public int getYear()   返回當(dāng)前日期中的年份。

2’public int getMonth()  返回當(dāng)前日期中的月份。

3’public int getDate()   返回當(dāng)前日期在月份中的日期值(1-31)。

4’public int getDay()    返回某天是星期幾。

5’public int getHours()  返回當(dāng)前日期中的小時數(shù)。

6’public int getMinutes() 返回當(dāng)前日期中的分鐘數(shù)。

7’public int getSeconds() 返回當(dāng)前日期中的秒數(shù)。

8’public boolean befor(Date when) 對日期實例所代表的時間和when進行比較。若比when早,返回true; 否則返回false

9’public boolean after(Date when) 對日期實例所代表的時間和when進行比較。若比when晚,返回true;否則返回false。

10’public boolean equal(Object obj) 比較兩個日期對象。若相等,則返回true;否則返回false。

11’public String toString() 返回當(dāng)前日期參數(shù)的字符串表示形式。注意:不同主機系統(tǒng)的日期表示形式不盡相同。

日期時間類的使用非常簡單,只需要不帶任何參數(shù)創(chuàng)建一個類實例,就可以生成一個代表當(dāng)前日期的類。如下所示:

Date today = new Date();

System.out.println(today.toString());

或者也可用一個更為簡單的方式:

System.out. println(today);

后一種方式中,println將自動調(diào)用toString方法,因而無需顯式調(diào)用。

2StringTokenizer

1)構(gòu)造方法:

StringTokenizer(String str) :構(gòu)造一個用來解析str的StringTokenizer對象。java默認(rèn)的分隔符是“空格”、“制表符(‘\t’)”、“換行符(‘\n’)”、“回車符(‘\r’)”。

StringTokenizer(String str, String delim) :構(gòu)造一個用來解析str的StringTokenizer對象,并提供一個指定的分隔符。

StringTokenizer(String str, String delim, booleanreturnDelims) :構(gòu)造一個用來解析str的StringTokenizer對象,并提供一個指定的分隔符,同時,指定是否返回分隔符。

2)常用方法:

1’int countTokens() :返回nextToken方法被調(diào)用的次數(shù)。

2’boolean hasMoreTokens() :返回是否還有分隔符。

3’boolean hasMoreElements() :結(jié)果同2’。

4’String nextToken() :返回從當(dāng)前位置到下一個分隔符的字符串。

5’Object nextElement() :結(jié)果同4’。

6’String nextToken(String delim) :與4’類似,以指定的分隔符返回結(jié)果。


3Random

Random類的對象用于生成偽隨機數(shù)流

1)構(gòu)造方法:

Random():創(chuàng)建一個新的隨機數(shù)發(fā)生器。

Random(long seed) :用一個種子(長整型)創(chuàng)建一個隨機數(shù)發(fā)生器。

2)常用方法:

1’protected int next(int bits) :產(chǎn)生下一個偽隨機數(shù)。

2’boolean nextBoolean() :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的布爾值。

3’void nextBytes(byte[] bytes) :產(chǎn)生隨機字節(jié)數(shù)組放到指定的數(shù)組中。

4’double nextDouble() :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的0.0到1.0的雙精度類型值。

5’float nextFloat() :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的0.0到1.0的浮點類型值。

6’double nextGaussian() :返回下一個從隨機發(fā)生器的系列中得到的符合均勻分布的0.0的平均數(shù)到1.0方差的高斯分布雙精度類型值。

7’int nextInt() :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的整型值。

8’int nextInt(int n) :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的0到指定整型數(shù)(n)之間的整型值。

9’long nextLong() :返回下一個從隨機發(fā)生器的系列中得到的均勻分布的長整型值。

10’void setSeed(long seed) :設(shè)置隨機數(shù)發(fā)生器的種子為一個長整型數(shù)。

這個類的對象使用一個48位的種子,如果這個類的兩個實例是用同一個種子創(chuàng)建的,并且,各自對它們以同樣的順序調(diào)用方法,則它們會產(chǎn)生相同的數(shù)字序列。

下面就對上面的介紹做一個實驗,尤其注意相同種子時的結(jié)果,如果用默認(rèn)的構(gòu)造方法構(gòu)造對象,他們是屬于同一個種子的。

例:Random類

import java.util.Random;

public class TestRandom{

    publicstatic void main(String[] args){

       Random r1 = new Random(50);

       System.out.println('第一個種子為50Random對象');

       System.out.println('r1.nextBoolean():\t' r1.nextBoolean());

       System.out.println('r1.nextInt():\t\t' r1.nextInt());

       System.out.println('r1.nextDouble():\t' r1.nextDouble());

       System.out.println('r1.nextGaussian():\t' r1.nextGaussian());

       System.out.println('______________________________');

        Randomr2 = new Random(50);

       System.out.println('第二個種子為50Random對象');

       System.out.println('r2.nextBoolean():\t' r2.nextBoolean());

       System.out.println('r2.nextInt():\t\t' r2.nextInt());

       System.out.println('r2.nextDouble():\t' r2.nextDouble());

       System.out.println('r2.nextGaussian():\t' r2.nextGaussian());

       System.out.println('______________________________');

       Random r3 = new Random(100);

       System.out.println('種子為100Random對象');

       System.out.println('r3.nextBoolean():\t' r3.nextBoolean());

       System.out.println('r3.nextInt():\t\t' r3.nextInt());

       System.out.println('r3.nextDouble():\t' r3.nextDouble());

       System.out.println('r3.nextGaussian():\t' r3.nextGaussian());

       System.out.println('結(jié)果一目了然!');

    }

}

結(jié)果:

第一個種子為50的Random對象

r1.nextBoolean():       true

r1.nextInt():           -1727040520

r1.nextDouble():        0.6141579720626675

r1.nextGaussian():      2.377650302287946

______________________________

第二個種子為50的Random對象

r2.nextBoolean():       true

r2.nextInt():           -1727040520

r2.nextDouble():        0.6141579720626675

r2.nextGaussian():      2.377650302287946

______________________________

種子為100的Random對象

r3.nextBoolean():       true

r3.nextInt():          -1139614796

r3.nextDouble():        0.19497605734770518

r3.nextGaussian():      0.6762208162903859

4Vector

該類實現(xiàn)了List接口,用戶可以對List中每個元素的插入位置進行精確地控制。也可以根據(jù)元素的整數(shù)索引(在列表中的位置)訪問元素,并搜索列表中的元素。

與 set 不同,Vector通常允許重復(fù)的元素。

Vector 類可以實現(xiàn)可增長的對象數(shù)組。它的大小可以根據(jù)需要增大或縮小,以適應(yīng)創(chuàng)建 Vector 后進行添加或移除項的操作。

1)構(gòu)造方法:

Vector()構(gòu)造一個空向量,使其內(nèi)部數(shù)據(jù)數(shù)組的大小為 10,其標(biāo)準(zhǔn)容量增量為零。

Vector(Collection<? extends E> c) 構(gòu)造一個包含指定集合中的元素的向量,這些元素按其集合的迭代器返回元素的順序排列。

Vector(int initialCapacity)使用指定的初始容量和等于零的容量增量構(gòu)造一個空向量。

Vector(int initialCapacity, int capacityIncrement)使用指定的初始容量和容量增量構(gòu)造一個空的向量。

2)方法:

1’public void setSize(int newSize)設(shè)置此向量的大小。如果新大小大于當(dāng)前大小,則會在向量的末尾添加相應(yīng)數(shù)量的 null 項。如果新大小小于當(dāng)前大小,則丟棄索引 newSize 處及其之后的所有項。

2’public int capacity()返回此向量的當(dāng)前容量。

3’public int size()返回此向量中的組件數(shù)。

4’public boolean isEmpty()測試此向量是否不包含組件。

5’public int indexOf(Object elem)搜索給定參數(shù)的第一個匹配項,使用 equals 方法測試相等性。

6’public E elementAt(int index)返回指定索引處的組件。

7’public E firstElement()返回此向量的第一個組件(位于索引 0 處的項)。

8’public E lastElement()返回此向量的最后一個組件。

9’public void setElementAt(E obj, int index)將此向量指定 index 處的組件設(shè)置為指定的對象。丟棄該位置以前的組件。索引必須為一個大于或等于0 且小于向量當(dāng)前大小的值。此方法的功能與 set 方法的功能完全相同(后者是 List 接口的一部分)。請注意,set 方法將反轉(zhuǎn)參數(shù)的順序,與數(shù)組用法更為匹配。另外還要注意,set 方法將返回以前存儲在指定位置的舊值。

10’public void removeElementAt(int index)刪除指定索引處的組件。此向量中的每個索引大于或等于指定 index 的組件都將下移,使其索引值變成比以前小 1 的值。此向量的大小將減 1。

索引必須為一個大于或等于 0 且小于向量當(dāng)前大小的值。

11’public void insertElementAt(E obj,int index)將指定對象作為此向量中的組件插入到指定的 index 處。此向量中的每個索引大于或等于指定 index 的組件都將向上移位,使其索引值變成比以前大 1 的值。索引必須為一個大于或等于 0 且小于或等于向量當(dāng)前大小的值(如果索引等于向量的當(dāng)前大小,則將新元素追加到向量)。

12’public void addElement(E obj)將指定的組件添加到此向量的末尾,將其大小增加 1。如果向量的大小比容量大,則增大其容量。

此方法的功能與 add(Object) 方法的功能完全相同(后者是 List 接口的一部分)。

13’public boolean removeElement(Object obj)從此向量中移除變量的第一個(索引最小的)匹配項。如果在此向量中找到該對象,那么向量中索引大于或等于該對象索引的每個組件都會下移,使其索引值變成比以前小 1 的值。

此方法的功能與 remove(Object) 方法的功能完全相同(后者是 List 接口的一部分)。

14’public void removeAllElements()從此向量中移除全部組件,并將其大小設(shè)置為零。

此方法的功能與 clear 方法的功能完全相同(后者是List 接口的一部分)。

15’public E get(int index)返回向量中指定位置的元素。

16’public boolean add(E o)將指定元素追加到此向量的末尾。

17’public boolean remove(Object o)移除此向量中指定元素的第一個匹配項,如果向量不包含該元素,則元素保持不變。

18’public void add(int index,E element)在此向量的指定位置插入指定的元素。將當(dāng)前位于該位置的元素(如果有)及所有后續(xù)元素右移(將其索引加 1)。

19’public void clear()從此向量中移除所有元素。此調(diào)用返回后,向量將為空(除非拋出了異常)。

例:輸入一串?dāng)?shù)字,求每位的和

import java.util.*;

classTestVector{

  public static void main(String args[]){

    intb=0,sum=0;

    Vector<Integer> v=new Vector<Integer>();//<>括號內(nèi)指明該集合存儲元素的類型

    System.out.println('please inputnumber:');

    while(true){

      try{

        b=System.in.read();

      }

      catch(Exception e){

         }

      if(b=='\r'||b=='\n')break;

      else {

        int num=b-'0';                

        v.addElement(new Integer(num));

      }

    }

    for(int i=0;i<v.size();i ){

      sum =((Integer)(v.elementAt(i))).intValue();

    }

    System.out.println('totalis:' sum);

  }

}

5ArrayList

ArrayList類大致上等同于 Vector 類,也實現(xiàn)了List接口,但是此類是不同步的,而Vector類是同步的,每個 ArrayList 實例都有一個容量。該容量是指用來存儲列表元素的數(shù)組的大小,隨著向ArrayList 中不斷添加元素,其容量也自動增長。

1)構(gòu)造方法:

ArrayList()構(gòu)造一個初始容量為 10 的空列表。

ArrayList(Collection<? extends E> c)構(gòu)造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。

ArrayList(int initialCapacity)構(gòu)造一個具有指定初始容量的空列表。

2)常用方法:

boolean add(E o) 將指定的元素追加到此列表的尾部。

void add(int index, E element)將指定的元素插入此列表中的指定位置。

boolean addAll(Collection<? extends E> c)按照指定 Collection 的迭代器所返回的元素順序,將該 Collection 中的所有元素追加到此列表的尾部。

boolean addAll(int index, Collection<? extendsE> c) 從指定的位置開始,將指定 Collection 中的所有元素插入到此列表中。

void clear()移除此列表中的所有元素。

int indexOf(Object elem)搜索給定參數(shù)第一次出現(xiàn)的位置,使用 equals 方法進行相等性測試。

boolean isEmpty()測試此列表中是否沒有元素。

int lastIndexOf(Object elem)返回指定的對象在列表中最后一次出現(xiàn)的位置索引。

E remove(int index)移除此列表中指定位置上的元素。

int size()返回此列表中的元素數(shù)。

Object[] toArray() 返回一個按照正確的順序包含此列表中所有元素的數(shù)組。 

例:ArrayList類

import java.util.*;

class ArrayListDemo{

publicstatic void main(String[] argas){

         ArrayList<String> al=newArrayList<String>();//JDK1.5后在集合類中建議指定集合存放的類型。

         al.add('zhangsan');

         al.add('lisi');

         al.add('wangwu');

         System.out.println(al);

}

}

6HashSet

HashSet類實現(xiàn) Set 接口,由哈希表支持。它不保證集合的迭代順序;特別是它不保證該順序恒久不變。HashSet類允許使用 null 元素。實現(xiàn)是不同步的。

Set集合中元素是無序的,不允許有重復(fù)的元素。

例8-8:

import java.util.*;

public class HashSetDemo {

publicstatic void main(String[] args) {

         HashSet<Student> hs=newHashSet<Student>();

         hs.add( newStudent(1001,'liping'));

         hs.add(newStudent(1002,'lisi'));

         hs.add(newStudent(1003,'wanglili'));

         Iterator it=hs.iterator();

         while(it.hasNext()){

                  Studentstu=(Student)it.next();

                  stu.showInfo();

         }

}

}

class Student{

private  final int 學(xué)號;

privateString 姓名;

publicStudent(int no,String s){

         學(xué)號=no;

         姓名=s;

}

publicvoid setName(String s){

         姓名=s;

}

publicString getName(){

         return 姓名;

}

publicint getId(){

         return 學(xué)號;

}

publicvoid showInfo(){

         System.out.println('學(xué)號:' 學(xué)號 '\n姓名:' 姓名);

}

}

7Iterator接口

Iterator是對集合進行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器允許在迭代期間從迭代器所指向的集合中移除元素。

常用方法如下:

boolean hasNext()

如果仍有元素可以迭代,則返回 true。

E next()

返回迭代的下一個元素。

void remove()

從迭代器指向的集合中移除迭代器返回的最后一個元素(可選操作)。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java常用類庫介紹
癡情研究java內(nèi)存中的對象
Java中類型的轉(zhuǎn)化
[Java] ArrayList 類
List接口
int 和 String 互相轉(zhuǎn)換的多種方法 - Java基礎(chǔ) - Java - 編程開發(fā) - 破釜沉舟: 源碼下載,素材下載,為網(wǎng)站站長.設(shè)計師.編程開發(fā)者. 提供資源!
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服