iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

陣列方法

  • Arrays 存在於 java.util的套件當中,下附表為靜態方法中常見的幾個方法。
    靜態方法:
方法 功用
Arrays.equal(陣列1, 陣列2) 比較兩個陣列內容是否相同
Arrays.fill(陣列, 填入值) 將指定值填入每個元素
Arrays.fill(陣列, 起始索引, 數量, 填入值) 將指定值填入索引範圍的元素
Arrays.binarySearch(陣列1, 欲搜尋的內容) 搜尋
Arrays.sort(陣列) 排序
Arrays.toString(陣列) 將陣列物件轉成字串

1.比較
程式範例試做:

import java.util.Arrays;
public class Alex0927_1
    public static void main(String[] args) {
        int[] array1 = {1, 2, 3, 4, 5}
        int[] array2 = array1.clone();
        int[] array3 = {1, 2, 3, 4, 5};
        int[] array4 = {1, 2, 3, 4, 6};
        System.out.println("array1 與 array2 比較: "
                    + (Arrays.equals(array1, array2) ? "相同" : "不同") );
        System.out.println("array1 與 array2 比較: "
                    + (Arrays.equals(array1, array3) ? "相同" : "不同") );
        System.out.println("array1 與 array2 比較: "
                    + (Arrays.equals(array1, array4) ? "相同" : "不同") );
        System.out.println("變更 array4[4] 元素內容");
        array4[4] = 5;
        System.out.println("array1 與 array4 比較: "
                    + (Arrays.equals(array1, array4) ?"相同":"不同"));
    }
}

程式執行結果:

array1 與 array2 比較: 相同
array1 與 array3 比較: 相同
array1 與 array4 比較: 不同
變更 array[4] 元素內容
array1 與 array4 比較: 相同

2.填值
程式範例試做:

import java.util.Arrays;
public class Alex0927_2
    public static void main(String[] args) {
        int[] array1 = new int[5];
        String[] array2 = new String[4];
        Arrays.fill( array1, 100);
        Arrays.fill( array2, "GOOD");
        System.out.println("陣列 1 的內容:" + Arrays.toString(array1) );
        System.out.println("陣列 2 的內容:" + Arrays.toString(array2) );
    }
}

程式執行結果:

陣列 1 的內容: [100, 100, 100, 100, 100]
陣列 2 的內容: [GOOD, GOOD, GOOD, GOOD]

3.排序
程式範例試做:

import java.util.*;
public class Alex0927_3 {
    public static void main (String[] args) {
        int[] data = {25, 17, 95, 47, 23, 3, 65, 13, 50, 86, 77};
        System.out.print("排序前: ");
        for( int i = 0 ; i < data.length ; i++ )
            System.out.print(data[i] + " ");
        System.out.println();
        Arrays.sort(data):
        System.out.print("排序後: ");
        for( int i = 0 ; i < data.length ; i++ )
            System.out.print(data[i] + " ");
        int find;
        Scanner sc = new Scanner(System.in);
        System.out.print("\n請輸入搜尋的值: ");
        int key = sc.nextInt();
        if((find = Arrays.binarySearch(data, key)) > -1)
            System.out.println("找到搜尋的值位於索引 " + find + " 位置");
        else
            System.out.println("陣列中不存在搜尋的值") ;
    }
}

程式執行結果:

排序前: 25 17 95 47 23 3 65 13 50 86 77
排序後: 3 13 17 23 25 47 50 65 77 86 95
請輸入搜尋的值: 65
找到搜尋的值在索引 7 位置

上一篇
Java程式陣列-進階1
下一篇
Java程式陣列-進階3
系列文
自學Java物件導向程式語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言