LoginSignup
3

More than 5 years have passed since last update.

配列の値をfor文を使わずに出力する方法

Last updated at Posted at 2018-10-15

Javaで配列をコンソールに表示したいとき、これまではfor文などを記述していたのですが、Arrays.toStringメソッドを使うことで楽に表示することができます。

参考にしたページ

サンプル

int[] a = {1, 2};   

// これまで
for (int i: a) {
    System.out.println(i);
}
// または
Arrays.stream(a).forEach(System.out::println);

// これから
System.out.println(Arrays.toString(a));

// 注意
System.out.println(a.toString());
コンソール
1
2
1
2
[1, 2]
[I@bebdb06

上記の3つのものを比較すると,Arrays.toStringメソッドが一番すっきり書けます.Stream APIを使った方法もいいような気がしますが,これは多次元配列を扱う際に記述が難しくなるので,Arrays.toStringがベターです.

ちなみに最後のようにa.toString()とすると,配列変数のハッシュ値が表示されてしまいます.また,System.out.printlnなどの標準出力メソッドでは,内部で引数のtoString()が呼ばれるようになっているので,System.out.println(sb.toString());などの冗長な書き方は控えましょう.

多次元配列のとき

deepToStringメソッドを使いましょう。

String[][] sss = {{"a","bb"}, {"ccc"}};

System.out.println(Arrays.toString(sss));
System.out.println(Arrays.deepToString(sss));
コンソール
[[Ljava.lang.String;@bebdb06, [Ljava.lang.String;@7a4f0f29]
[[a, bb], [ccc]]

まとめ

配列を標準出力したいときはArrays.toStringArrays.deepToStringメソッドを使いましょう.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3