Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのArrays.deepToString()で配列の深い内容を文字列として返す方法

Javaでは、java.util.Arraysクラスに含まれるdeepToString()メソッドを使用することで、指定した配列の深い内容(ネストされた要素まで)を文字列表現として取得できます。

通常のtoString()Arrays.toString()は多次元配列の中身まで正しく表示できませんが、deepToString()は入れ子になった配列も再帰的に処理し、人間が読みやすい形式で出力してくれるのが特徴です。

サンプルコード1:Object型配列の場合

まず、Object型の配列に対してdeepToString()を使用する基本的な例を見てみましょう。

import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        Object[] ob = {"One", "Two", "Three", "Four"};
        System.out.println("配列の要素...");
        for (Object value : ob) {
            System.out.println("Value = " + value);
        }
        System.out.println("配列の文字列表現:");
        System.out.println(Arrays.deepToString(ob));
    }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

配列の要素...
Value = One
Value = Two
Value = Three
Value = Four
配列の文字列表現:
[One, Two, Three, Four]

サンプルコード2:2次元配列の場合

次に、2次元のint型配列(ネストされた配列)に対してdeepToString()を使用した例です。多次元配列では、このメソッドの真価が発揮されます。

import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        int[][] arr = new int[3][3];
        arr[0][0] = 10;
        arr[0][1] = 20;
        arr[0][2] = 30;
        arr[1][0] = 40;
        arr[1][1] = 50;
        arr[1][2] = 75;
        arr[2][0] = 100;
        arr[2][1] = 150;
        arr[2][2] = 200;
        System.out.println(Arrays.deepToString(arr));
    }
}

実行結果

実行すると、各内部配列が角括弧で囲まれた形式で出力されます。

[[10, 20, 30], [40, 50, 75], [100, 150, 200]]

deepToString()とtoString()の違い

なお、通常のArrays.toString()を2次元配列に使用すると、内部配列の参照先(ハッシュコードなど)が表示されるだけで、実際の値は確認できません。デバッグ時やログ出力時に配列の中身を正確に把握したい場合は、Arrays.deepToString()を使うことをおすすめします。

  1. Python・NumPyのsctype2char()でスカラーdtypeの文字列表現を取得する方法

    PythonのNumPyでは、sctype2char()メソッドを使うことで、スカラーdtype(データ型)に対応する文字列表現を取得できます。第1引数がスカラーdtypeの場合、それに対応する文字コードがそのまま返されます。また、オブジェクトを渡した場合には、sctype2char()がそのオブジェクトのスカラー型を推論し、対応する文字を返してくれます。この機能は、データ型の確認や動的な型処理を行いたい場面で非常に便利です。sctype2char()の基本的な使い方1. ライブラリのインポートまず、必要なライブラリをインポートします。import numpy as np2. スカラー型の文字

  2. Python・NumPyで文字列配列の各要素の長さを取得する方法

    文字列配列の各要素の長さを要素ごとに取得したい場合は、PythonのNumPyが提供する numpy.char.str_len() メソッドを使用します。このメソッドは、各文字列の長さを格納した整数型の出力配列を返します。実行手順まず、必要なライブラリをインポートします。import numpy as np次に、1次元の文字列配列を作成します。arr = np.array([Amy, Scarlett, Katie, Brad, Tom])作成した配列を表示してみましょう。print(Array...\n,arr)配列のデータ型を確認します。print(\nArray datatype...\