Java Arraysユーティリティクラスの主なメソッドまとめ

メソッド名引数の条件機能概要
asList配列を引数にとる配列をリスト形式に変換
binarySearchソート済み配列と検索値を指定ソート済み配列内で値のインデックスを探索
copyOf配列とコピーする長さを指定指定長さ分の配列を複製
copyOfRange配列と開始・終了インデックス範囲指定で配列を複製
deepEquals2つの配列を引数にとる多次元配列も考慮した等価判定
deepHashCode配列を引数にとる深層的なハッシュコード生成
deepToString配列を引数にとる多次元配列を文字列表現に変換
equals2つの配列を引数にとる配列の内容が等しいか判定
fill配列と埋め尽くす値を指定配列全体を同一値で埋め
hashCode配列を引数にとる配列のハッシュコード生成
parallelPrefix配列と演算関数を指定並列処理で累積演算を適用
parallelSort配列を引数にとる並列化による高速ソート
setAll配列と生成関数を指定各要素に生成関数を適用
sort配列を引数にとる配列を昇順またはカスタムでソート
spliterator配列を引数にとるSpliteratorインスタンス生成
stream配列を引数にとるストリームオブジェクトを取得
toString配列を引数にとる配列の文字列表現を生成

Arrays.toString

配列の内容を文字列形式で出力したいときに使用。デバッグ用途に最適。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        System.out.println(Arrays.toString(numbers)); // [10, 20, 30, 40, 50]
    }
}

Arrays.sort

配列を昇順にソート。内部的にはクイックソートとTimSortのハイブリッドが使用。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {50, 10, 30, 20, 40};
        Arrays.sort(numbers);
        System.out.println(Arrays.toString(numbers)); // [10, 20, 30, 40, 50]
    }
}

Arrays.binarySearch

ソート済み配列内で特定の値のインデックスを探索。未発見時は負の値を返す。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        int index = Arrays.binarySearch(numbers, 30);
        System.out.println("位置: " + index); // 2
    }
}

Arrays.copyOf

配列の一部を複製するときに利用。長さを指定して切り詰めまたは拡張可能。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] source = {10, 20, 30, 40, 50};
        int[] dest = Arrays.copyOf(source, 3);
        System.out.println(Arrays.toString(dest)); // [10, 20, 30]
    }
}

Arrays.fill

配列の全要素を同じ値で初期化する用途に最適。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] array = new int[5];
        Arrays.fill(array, 99);
        System.out.println(Arrays.toString(array)); // [99, 99, 99, 99, 99]
    }
}

Arrays.equals

2つの配列の内容が完全に一致するかを判定。


import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] arrA = {1, 2, 3};
        int[] arrB = {1, 2, 3};
        boolean result = Arrays.equals(arrA, arrB);
        System.out.println("一致判定: " + result); // true
    }
}

タグ: Java arrays utilities

5月17日 18:33 投稿