天天看點

Arrays類應用·使用Arrays類操作Java中的數組

Arrays 類是 Java 中提供的一個工具類,在 java.util 包中。該類中包含了一些方法用來直接操作數組,比如可直接實作數組的排序、搜尋等(關于類和方法的相關内容在後面的章節中會詳細講解滴~~)。

Arrays 中常用的方法:

1、 排序

文法:  Arrays.sort(數組名);

可以使用 sort( ) 方法實作對數組的排序,隻要将數組名放在 sort( ) 方法的括号中,就可以完成對該數組的排序(按升序排列),如:

<a target="_blank" href="http://img.mukewang.com/5374279d0001d9a706970392.jpg"></a>

運作結果: 

<a target="_blank" href="http://img.mukewang.com/537427ec0001076602580140.jpg"></a>

2、 将數組轉換為字元串

文法:  Arrays.toString(數組名);

可以使用 toString( ) 方法将一個數組轉換成字元串,該方法按順序把多個數組元素連接配接在一起,多個元素之間使用逗号和空格隔開,如:

<a target="_blank" href="http://img.mukewang.com/537428a000010ea608880205.jpg"></a>

運作結果為:  

輸出數組nums中的元素:[25,7,126,53,14,86]

Arrays 類還提供了許多其他方法來操作數組此處就不一一列舉啦,各位小夥伴們可以在 wiki 查閱更多資訊

親, Arrays 類的使用您掌握了嘛,讓我們來檢驗一下吧。

在編輯器中定義了一個數組 hobbys ,請在第 2、11、14 行中将代碼填寫完整,實作使用 Arrays 類對數組進行排序并轉換輸出。

運作結果為: [ game , movie , sports ]

Arrays類應用

Arrays 類是 Java API 中提供的類,在 java.util 包中, Arrays類中提供的方法可直接實作數組的排序、搜尋等。常用方法如下:

1、toString

轉換數組:将指定數組内容轉換為字元串形式

2、fill

給數組指派:通過fill方法。

3、sort

對數組排序:通過sort方法,預設按升序。

4、equals

比較數組:通過equals方法比較數組中元素值是否相等。

5、binarySearch

二分查找:使用二分搜尋法來搜尋指定數組的範圍

示例代碼:

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

       int[] array = new int[5];

       // 填充數組

       /* Arrays.fill( a1, value );

         作用:填充 a1 數組中的每個元素都是value

       */

       Arrays.fill(array, 5);

       System.out.println("填充數組:Arrays.fill(array, 5):");

       System.out.println(Arrays.toString(array));

       // 将數組的第3和第4個元素指派為8

       /* Arrays.fill( a1, fromIndex, toIndex,value);

         作用:填充 a1 數組中的從索引為 fromIndex 開始到索引為 toIndex-1 為止每個元素都是 value

       Arrays.fill(array, 2, 4, 8);

       System.out.println("将數組的第2和第3個元素指派為8:Arrays.fill(array, 2, 4, 8):");

       int[] array1 = { 7, 8, 3, 2, 12, 6, 3, 5, 4 };

       // 對數組的第3個到第7個進行排序

       /* Arrays.sort( a1, fromIndex, toIndex);

         作用:對 a1 數組中的從索引為 fromIndex 開始到索引為 toIndex-1 為止每個元素排序

       Arrays.sort(array1, 2, 7);

       System.out.println("對數組的第2個到第6個元素進行排序:Arrays.sort(array,2,7):");

       System.out.println(Arrays.toString(array1));

       // 對整個數組進行排序

       Arrays.sort(array1);

       System.out.println("對整個數組進行排序:Arrays.sort(array1):");

       // 比較數組元素是否相等

       System.out.println("比較數組元素是否相等:Arrays.equals(array, array1):" + "\n"

              + Arrays.equals(array, array1));

       int[] array2 = array1.clone();

       System.out.println("克隆後數組元素是否相等:Arrays.equals(array1, array2):" + "\n"

              + Arrays.equals(array1, array2));

       // 使用二分搜尋算法查找指定元素所在的下标(必須是排序好的,否則結果不正确)

       System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"

              + "\n" + Arrays.binarySearch(array1, 3));

       // 如果不存在就傳回負數

       System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"

              + "\n" + Arrays.binarySearch(array1, 9));

    }

}

運作結果:

填充數組:Arrays.fill(array, 5):

[5, 5, 5, 5, 5]

将數組的第2和第3個元素指派為8:Arrays.fill(array, 2, 4, 8):

[5, 5, 8, 8, 5]

對數組的第2個到第6個元素進行排序:Arrays.sort(array,2,7):

[7, 8, 2, 3, 3, 6, 12, 5, 4]

對整個數組進行排序:Arrays.sort(array1):

[2, 3, 3, 4, 5, 6, 7, 8, 12]

比較數組元素是否相等:Arrays.equals(array, array1):

false

克隆後數組元素是否相等:Arrays.equals(array1, array2):

true

元素3在array1中的位置:Arrays.binarySearch(array1, 3):

1

元素9在array1中的位置:Arrays.binarySearch(array1, 9):

-9