Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Java辞典

  1. トップページ
  2. Java辞典
  3. Arrays.equals() / Arrays.toString() / Arrays.asList()

Arrays.equals() / Arrays.toString() / Arrays.asList()

配列の内容を比較したり、配列を人間が読める文字列に変換したり、配列を List に変換したりするメソッドです。デバッグ時の内容確認やコレクションとの連携に活用されます。

構文
import java.util.Arrays;

// 1次元配列の内容を比較します。
Arrays.equals(a1, a2);

// 多次元配列(ネスト配列)の内容を比較します。
Arrays.deepEquals(a1, a2);

// 1次元配列を文字列に変換します。
Arrays.toString(array);

// 多次元配列を文字列に変換します。
Arrays.deepToString(array);

// 配列を固定サイズの List に変換します。
Arrays.asList(T... a);
メソッド一覧
メソッド概要
Arrays.equals(a1, a2)2つの配列が同じ長さで同じ要素を持つ場合は true を返します。参照ではなく値を比較します。
Arrays.deepEquals(a1, a2)多次元配列を再帰的に比較します。ネストした配列の内容まで比較されます。
Arrays.toString(array)配列の全要素を [1, 2, 3] のような形式の文字列に変換して返します。
Arrays.deepToString(array)多次元配列を再帰的に文字列化します。2次元配列では [[1, 2], [3, 4]] のように表示されます。
Arrays.asList(T... a)配列を List に変換します。固定サイズのため要素の追加・削除はできません。
サンプルコード
import java.util.Arrays;
import java.util.ArrayList;

// Arrays.equals() で配列の内容を比較します。
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
int[] c = {1, 2, 4};
System.out.println(Arrays.equals(a, b)); // 『true』と出力されます。
System.out.println(Arrays.equals(a, c)); // 『false』と出力されます。
System.out.println(a == b);              // 参照比較なので『false』と出力されます。

// Arrays.deepEquals() で2次元配列を比較します。
int[][] m1 = {{1, 2}, {3, 4}};
int[][] m2 = {{1, 2}, {3, 4}};
System.out.println(Arrays.deepEquals(m1, m2)); // 『true』と出力されます。

// Arrays.toString() でデバッグ表示します。
int[] nums = {5, 1, 3, 2, 4};
System.out.println(Arrays.toString(nums)); // 『[5, 1, 3, 2, 4]』と出力されます。

// Arrays.deepToString() で多次元配列を表示します。
int[][] grid = {{1, 2, 3}, {4, 5, 6}};
System.out.println(Arrays.deepToString(grid)); // 『[[1, 2, 3], [4, 5, 6]]』と出力されます。

// Arrays.asList() で List に変換します。
String[] arr = {"Java", "Python", "Swift"};
java.util.List<String> list = Arrays.asList(arr);
System.out.println(list); // 『[Java, Python, Swift]』と出力されます。

// サイズ変更可能な ArrayList に変換します。
ArrayList<String> mutableList = new ArrayList<>(Arrays.asList(arr));
mutableList.add("Go");
System.out.println(mutableList); // 『[Java, Python, Swift, Go]』と出力されます。
概要

配列同士を == で比較すると参照が比較されるため、内容が同じでも false になります。内容を比較するには必ず『Arrays.equals()』を使ってください。

『Arrays.toString()』はデバッグ時に配列の中身を確認するのに非常に便利です。多次元配列(配列の配列)に『Arrays.toString()』を使うと内側の配列はオブジェクト参照として表示されるため、多次元配列には必ず『Arrays.deepToString()』を使用してください。

配列の並べ替えには『Arrays.sort()』、List を使った操作には『ArrayList の add() / get()』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。