Java – 配列を印刷する方法
この記事では、Java Arrayを印刷する方法をいくつか紹介します。
1. Arrays.toString
これは配列を印刷する最も簡単な方法です—Arrays.toString`(JDK 1.5以降)
PrintArray.java
package com.mkyong.utils.print;
import java.util.Arrays;
public class PrintArray {
public static void main(String[]args) {
//array
String[]arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
System.out.println(Arrays.toString(arrayStr));
//Output :[Java, Node, Python, Ruby]
int[]arrayInt = {1, 3, 5, 7, 9};
System.out.println(Arrays.toString(arrayInt));
//Output :[1, 3, 5, 7, 9]
//2d array, need Arrays.deepToString
String[][]deepArrayStr = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
System.out.println(Arrays.toString(deepArrayStr));
//Output :[[Ljava.lang.String;@23fc625e,[Ljava.lang.String;@3f99bd52]
System.out.println(Arrays.deepToString(deepArrayStr));
//Output :[[mkyong1, mkyong2],[mkyong3, mkyong4]
int[][]deepArrayInt = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
System.out.println(Arrays.toString(deepArrayInt));
//Output :[[I@3a71f4dd,[I@7adf9f5f]
System.out.println(Arrays.deepToString(deepArrayInt));
//Output :[[1, 3, 5, 7, 9],[2, 4, 6, 8, 10]]
}
}
出力
2. JDK 8ストリーム
JDK 8では、https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html[Stream]に変換して出力できます。
PrintArray.java
package com.mkyong.utils.print;
import java.util.Arrays;
public class PrintArray {
public static void main(String[]args) {
//array
String[]arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
Arrays.stream(arrayStr).forEach(System.out::println);
int[]arrayInt = {1, 3, 5, 7, 9};
Arrays.stream(arrayInt).forEach(System.out::println);
//2d array
String[][]deepArrayStr = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
Arrays.stream(deepArrayStr).flatMap(x -> Arrays.stream(x)).forEach(System.out::println);
int[][]deepArrayInt = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
Arrays.stream(deepArrayInt).flatMapToInt(x -> Arrays.stream(x)).forEach(System.out::println);
}
}
出力
Java Node Python Ruby 1 3 5 7 9 mkyong1 mkyong2 mkyong3 mkyong4 1 3 5 7 9 2 4 6 8 10
3. Json Anything
これは私の好みの方法です。http://wiki.fasterxml.com/JacksonRelease20[Jackson2]ライブラリを使用して、JSON形式の文字列で何かを印刷します。
PrintUtils.java
package com.mkyong.utils.print;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class PrintUtils {
private static final ObjectMapper om = new ObjectMapper();
public static void print(Object object) {
String result;
try {
result = om.writerWithDefaultPrettyPrinter().writeValueAsString(object);
System.out.println(result);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
PrintArray.java
package com.mkyong.utils.print;
public class PrintArray {
public static void main(String[]args) {
//array
String[]arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
PrintUtils.print(arrayStr);
int[]arrayInt = {1, 3, 5, 7, 9};
PrintUtils.print(arrayInt);
//2d array
String[][]deepArrayStr = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
PrintUtils.print(deepArrayStr);
int[][]deepArrayInt = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
PrintUtils.print(deepArrayInt);
}
}
出力
….[“Java”, “Node”, “Python”, “Ruby”][1, 3, 5, 7, 9][[“mkyong1”, “mkyong2”],[“mkyong3”, “mkyong4”]][[1, 3, 5, 7, 9],[2, 4, 6, 8, 10]]….
参考文献
Javasoc]。
https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.htm
[Arrays
JavaDoc]。リンク://java/jackson-2-convert-java-object-to-from-json/[Jackson 2
JavaオブジェクトをJSONからJSONに変換]。
Jackson 2公式サイト