廉頗老矣,尚能飯否

          java:從技術(shù)到管理

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          操作java數(shù)組的常用工具類【轉(zhuǎn)載】

          Java提供了的Arrays類里包含了一些static修飾方法可以直接操作數(shù)組,這個(gè)Arrays類里包含了提供了如下幾個(gè)static修飾的方法(static修飾的方法可以直接通過(guò)類名調(diào)用):

            int binarySearch(type[] a,type key):這個(gè)方法查詢key元素值在a數(shù)組中出現(xiàn)的索引;如果a數(shù)組不包含key元素值,則返回-1.調(diào)用該方法時(shí)要求數(shù)組中元素已經(jīng)按升序排列,這樣才能得到正確結(jié)果。

            binarySearch(type[] a,int fromIndex,int toIndex,type key):這個(gè)方法與前一個(gè)方法類似,但它只搜索a數(shù)組中formIndex到toIndex索引的元素。調(diào)用該方法時(shí)要求數(shù)組中元素已經(jīng)按升序排列,這樣才能得到正確結(jié)果。

            type[] copyOf(type[] original,int newLength):這個(gè)方法將會(huì)把original數(shù)組復(fù)制成一個(gè)新數(shù)組,其中l(wèi)ength是新數(shù)組的長(zhǎng)度。如果length小于original數(shù)組的長(zhǎng)度,則新數(shù)組就是原數(shù)組的前面length個(gè)元素;如果length大于original數(shù)組的長(zhǎng)度,則新數(shù)組的前面元素就是原數(shù)組的所個(gè)元素,后面補(bǔ)充0(數(shù)值型)、false(布爾型)或者null(引用型)。

            type[] copyOfRange(type[] original,int from,int to):這個(gè)方法與前面方法相似,但這個(gè)方法只復(fù)制original數(shù)組的from索引到to索引的元素。

            boolean equals(type[] a,type[] a2):如果a數(shù)組和a2數(shù)組的長(zhǎng)度相等,而且a數(shù)組和a2數(shù)組的數(shù)組元素也一一相同,該方法將返回true.

            void fill(type[] a,type val):該方法將會(huì)把a(bǔ)數(shù)組所有元素值都賦值為val.

            void fill(type[] a,int fromIndex, int toIndex, type val):該方法與前一個(gè)方法的作用相同,區(qū)別只是該方法僅僅將a數(shù)組的fromIndex到toIndex索引的數(shù)組元素賦值為val.

            void sort(type[] a):該方法對(duì)a數(shù)組的數(shù)組元素進(jìn)行排序。

            void sort(type[] a,int fromIndex,int toIndex):該方法與前一個(gè)方法相似,區(qū)別是該方法僅僅對(duì)fromIndex到toIndex索引的元素進(jìn)行排序。

            String toString(type[] a):該方法將會(huì)一個(gè)數(shù)組轉(zhuǎn)換成一個(gè)字符串。該方法按順序把多個(gè)數(shù)組元素連綴在一起,多個(gè)數(shù)組元素使用英文逗號(hào)(,)和空格隔開。(利用該方法可以很清楚地看到各數(shù)組元素)

            下面程序示范了Arrays類的用法:

                public class TestArrays

            {

            public static void main(String[] args)

            {

            //定義一個(gè)a數(shù)組

            int[] a = new int[]{3, 4 , 5, 6};

            //定義一個(gè)a2數(shù)組

            int[] a2 = new int[]{3, 4 , 5, 6};

            //a數(shù)組和a2數(shù)組的長(zhǎng)度相等,每個(gè)元素依次相等,將輸出true

            System.out.println("a數(shù)組和a2數(shù)組是否相等:" + Arrays.equals(a , a2));

            //通過(guò)復(fù)制a數(shù)組,生成一個(gè)新的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個(gè)元素(包括)到第5個(gè)元素(不包括)賦為1

            Arrays.fill(b , 2, 4 , 1); //fill方法可一次對(duì)多個(gè)數(shù)組元素進(jìn)行批量賦值

            //輸出b數(shù)組的元素,將輸出[3, 4, 1, 1, 0, 0]

            System.out.println("b數(shù)組的元素為:" + Arrays.toString(b));

            //對(duì)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類里也包含了一個(gè)static void arraycopy(Object src,int srcPos,Object dest, int destPos,int length)方法,該方法可以將src數(shù)組里的元素值賦給dest數(shù)組的元素,其中srcPos指定從src數(shù)組的第幾個(gè)元素開始賦值,length參數(shù)指定將src數(shù)組的多少個(gè)元素賦給dest數(shù)組的元素。



          柳德才
          13691193654
          18942949207
          QQ:422157370
          liudecai_zan@126.com
          湖北-武漢-江夏-廟山

          posted on 2009-04-08 16:12 liudecai_zan@126.com 閱讀(805) 評(píng)論(0)  編輯  收藏 所屬分類: 程序人生

          主站蜘蛛池模板: 厦门市| 芷江| 灵台县| 长汀县| 蓬溪县| 阿巴嘎旗| 林州市| 小金县| 绥宁县| 龙山县| 乡城县| 延长县| 滦平县| 营山县| 华宁县| 大足县| 神池县| 达尔| 泰顺县| 庆云县| 丰原市| 关岭| 故城县| 老河口市| 邮箱| 垣曲县| 济宁市| 任丘市| 信阳市| 玉环县| 丰镇市| 堆龙德庆县| 扶绥县| 廉江市| 临邑县| 福泉市| 盐亭县| 山阳县| 荥阳市| 日照市| 左云县|