Jakarta Commonsについて確認しているので、
この機会に配列とリストの出力方法について纏めてみる。
取得方法・パターンは下記の通り...
取得方法
- org.apache.commons.lang3.ArrayUtilsを使用
- java.util.Arraysを使用
パターン
- 1次元配列
- 2次元配列
- ArrayListオブジェクト
ソースコード
java
package jp.co.recipe.commons.jakarta.main;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class Main01_08 {
public static void main(String[] args){
//配列作成
String[] strArray = {"sunday","manday","tuesday","wednesday","thirthday","friday","saturday"};
String[][] strDimArray = {
{"1","2","3","4","5","6","7"},
{"sunday","manday","tuesday","wednesday","thirthday","friday","saturday"}
};
//リスト作成
List<String> strList = new ArrayList<String>();
strList.addAll(Arrays.asList(strArray));
//出力開始>org.apache.commons.lang3.ArrayUtils
System.out.println("## 出力開始>org.apache.commons.lang3.ArrayUtils ##");
System.out.println(ArrayUtils.toString(strArray));
System.out.println(ArrayUtils.toString(strList));
System.out.println(ArrayUtils.toString(strDimArray));
//出力開始>java.util
System.out.println("## 出力開始>java.util ##");
System.out.println(Arrays.toString(strArray));
System.out.println(Arrays.toString(strList.toArray()));
System.out.println(Arrays.deepToString(strDimArray));
}
}
出力結果
## 出力開始>org.apache.commons.lang3.ArrayUtils ##
{sunday,manday,tuesday,wednesday,thirthday,friday,saturday}
[sunday, manday, tuesday, wednesday, thirthday, friday, saturday]
{{1,2,3,4,5,6,7},{sunday,manday,tuesday,wednesday,thirthday,friday,saturday}}
## 出力開始>java.util ##
[sunday, manday, tuesday, wednesday, thirthday, friday, saturday]
[sunday, manday, tuesday, wednesday, thirthday, friday, saturday]
[[1, 2, 3, 4, 5, 6, 7], [sunday, manday, tuesday, wednesday, thirthday, friday, saturday]]
所感##
両者に大差はないが、
Java標準ライブラリーのデメリットを上げるとすると、
-toArray()メソッドにて、一旦配列に変換しなければならない。
-多重配列を出力する際、deepToString()という別のメソッドを使用しなければならない。
一方Jakarta CommonsのArrayUtilsクラスであれば、全てにおいてtoString()メソッドで
出力が可能といったところだと感じた。
考察不足かもしれないですが、今回は以上にします。