Java提供了的Arrays類里包含了一些static修飾方法可以直接操作數(shù)組,這個Arrays類里包含了提供了如下幾個static修飾的方法(static修飾的方法可以直接通過類名調(diào)用):
int binarySearch(type[] a,type key):這個方法查詢key元素值在a數(shù)組中出現(xiàn)的索引;如果a數(shù)組不包含key元素值,則返回-1.調(diào)用該方法時要求數(shù)組中元素已經(jīng)按升序排列,這樣才能得到正確結(jié)果。
binarySearch(type[] a,int fromIndex,int toIndex,type key):這個方法與前一個方法類似,但它只搜索a數(shù)組中formIndex到toIndex索引的元素。調(diào)用該方法時要求數(shù)組中元素已經(jīng)按升序排列,這樣才能得到正確結(jié)果。
type[] copyOf(type[] original,int newLength):這個方法將會把original數(shù)組復(fù)制成一個新數(shù)組,其中l(wèi)ength是新數(shù)組的長度。如果length小于original數(shù)組的長度,則新數(shù)組就是原數(shù)組的前面length個元素;如果length大于original數(shù)組的長度,則新數(shù)組的前面元素就是原數(shù)組的所個元素,后面補(bǔ)充0(數(shù)值型)、false(布爾型)或者null(引用型)。
type[] copyOfRange(type[] original,int from,int to):這個方法與前面方法相似,但這個方法只復(fù)制original數(shù)組的from索引到to索引的元素。
boolean equals(type[] a,type[] a2):如果a數(shù)組和a2數(shù)組的長度相等,而且a數(shù)組和a2數(shù)組的數(shù)組元素也一一相同,該方法將返回true.
void fill(type[] a,type val):該方法將會把a(bǔ)數(shù)組所有元素值都賦值為val.
void fill(type[] a,int fromIndex, int toIndex, type val):該方法與前一個方法的作用相同,區(qū)別只是該方法僅僅將a數(shù)組的fromIndex到toIndex索引的數(shù)組元素賦值為val.
void sort(type[] a):該方法對a數(shù)組的數(shù)組元素進(jìn)行排序。
void sort(type[] a,int fromIndex,int toIndex):該方法與前一個方法相似,區(qū)別是該方法僅僅對fromIndex到toIndex索引的元素進(jìn)行排序。
String toString(type[] a):該方法將會一個數(shù)組轉(zhuǎn)換成一個字符串。該方法按順序把多個數(shù)組元素連綴在一起,多個數(shù)組元素使用英文逗號(,)和空格隔開。(利用該方法可以很清楚地看到各數(shù)組元素)
下面程序示范了Arrays類的用法:
public class TestArrays
{
public static void main(String[] args)
{
//定義一個a數(shù)組
int[] a = new int[]{3, 4 , 5, 6};
//定義一個a2數(shù)組
int[] a2 = new int[]{3, 4 , 5, 6};
//a數(shù)組和a2數(shù)組的長度相等,每個元素依次相等,將輸出true
System.out.println("a數(shù)組和a2數(shù)組是否相等:" + Arrays.equals(a , a2));
//通過復(fù)制a數(shù)組,生成一個新的b數(shù)組
int[] b = Arrays.copyOf(a, 6);
System.out.println("a數(shù)組和b數(shù)組是否相等:" + Arrays.equals(a , b));
//輸出b數(shù)組的元素,將輸出[3, 4, 5, 6, 0, 0]
System.out.println("b數(shù)組的元素為:" + Arrays.toString(b));
//將b數(shù)組的第3個元素(包括)到第5個元素(不包括)賦為1
Arrays.fill(b , 2, 4 , 1); //fill方法可一次對多個數(shù)組元素進(jìn)行批量賦值
//輸出b數(shù)組的元素,將輸出[3, 4, 1, 1, 0, 0]
System.out.println("b數(shù)組的元素為:" + Arrays.toString(b));
//對b數(shù)組進(jìn)行排序
Arrays.sort(b);
//輸出b數(shù)組的元素,將輸出[0, 0, 1, 1, 3, 4]
System.out.println("b數(shù)組的元素為:" + Arrays.toString(b));
}
}
|
注意:Arrays類處于java.util包下,為了在程序中使用Arrays類,必須在程序中導(dǎo)入java.util.Arrays類。
除此之外,在System類里也包含了一個static void arraycopy(Object src,int srcPos,Object dest, int destPos,int length)方法,該方法可以將src數(shù)組里的元素值賦給dest數(shù)組的元素,其中srcPos指定從src數(shù)組的第幾個元素開始賦值,length參數(shù)指定將src數(shù)組的多少個元素賦給dest數(shù)組的元素。
posted on 2009-04-06 20:10
Werther 閱讀(2011)
評論(1) 編輯 收藏 所屬分類:
10.Java