Java で ArrayList を文字列に変換する方法

Mohammad Irfan 2023年10月12日
  1. Java で + 演算子を使って ArrayList から文字列に変換する
  2. Java の append() メソッドを用いて ArrayList から文字列に変換する
  3. Java の join() メソッドを用いて ArrayList から文字列に変換する
  4. Java の StringUtils クラスを用いた ArrayList から文字列への変換
  5. Java の replaceAll() メソッドを用いて ArrayList から文字列に変換する
  6. Java の joining() メソッドを用いて ArrayList から文字列に変換する
  7. Java の deepToString() メソッドを用いて ArrayList から文字列に変換する
Java で ArrayList を文字列に変換する方法

このチュートリアルでは、Java で ArrayList を文字列に変換する方法を紹介します。ArrayList を変換するには、join()append() メソッド、StringUtils クラスなどを利用する方法があります。具体的な例を見てみましょう。

Java で + 演算子を使って ArrayList から文字列に変換する

ArrayList を文字列に変換する最も簡単で簡単な方法は、プラス(+)演算子を使用することです。文字列では、プラス演算子は 2つの文字列オブジェクトを連結して 1つのオブジェクトを返します。ここでは、プラス演算子を使用しています。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = "";
    for (String fruit : fruits) {
      str += fruit + ",";
    }
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
Apple,Orange,Mango,

Java の append() メソッドを用いて ArrayList から文字列に変換する

StringBuilder クラスの append() メソッドを使って ArrayList を文字列に変換することができます。このメソッドは String オブジェクトを返します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    StringBuilder str = new StringBuilder();
    for (String fruit : fruits) {
      str.append(fruit);
      str.append(" ");
    }
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
Apple Orange Mango 

Java の join() メソッドを用いて ArrayList から文字列に変換する

ArrayList の要素を一つの文字列に結合するには、文字列クラスの join() メソッドを用いることができます。このメソッドは文字列を返すので、Java で ArrayList を文字列に変換するのに使うことができます。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = String.join(",", fruits);
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
Apple,Orange,Mango

Java の StringUtils クラスを用いた ArrayList から文字列への変換

Apache commons lang ライブラリを使っている場合は、ArrayList から文字列オブジェクトを取得するために StringUtils クラスの join() メソッドを使用することができます。ここでは、2つの引数を取る join() メソッドを利用します。ArrayList と区切り記号の 2つの引数を取る join() メソッドを利用します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = StringUtils.join(fruits, ", ");
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
Apple, Orange, Mango

Java の replaceAll() メソッドを用いて ArrayList から文字列に変換する

これは、ArrayList から文字列を取得するための少しトリッキーなアプローチです。この方法では、replaceAll() メソッドを使ってリストの角括弧を置換し、toString() メソッドを使ってすべての要素を文字列に変換します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = fruits.toString().replaceAll("\\[|\\]", "").replaceAll(", ", ", ");
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
Apple, Orange, Mango

Java の joining() メソッドを用いて ArrayList から文字列に変換する

Java 8 以上のバージョンを利用している場合は、Collectors クラスの joining() メソッドを利用して、すべての要素を単一の文字列オブジェクトに集めることができます。ここでは、Java 8 に追加された Java プログラミングの関数型を利用します。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str =
        Arrays.asList(fruits).stream().map(Object::toString).collect(Collectors.joining(", "));
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
[Apple, Orange, Mango]

Java の deepToString() メソッドを用いて ArrayList から文字列に変換する

ArrayList の全要素を文字列オブジェクトに変換する Arrays クラスの deepToString() メソッドを利用することができます。以下の例を参照してください。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = Arrays.deepToString(fruits.toArray());
    System.out.println(str);
  }
}

出力:

[Apple, Orange, Mango]
[Apple, Orange, Mango]

関連記事 - Java String

関連記事 - Java ArrayList