Java中的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 ArraysDemo {
    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):");
       System.out.println(Arrays.toString(array));
      
       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.toString(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));
 
       // 使用二分搜索算法查找指定元素所在的下標(必須是排序好的,否則結果不正確)
       Arrays.sort(array1);
       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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章