Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでArrayListを文字列に変換する方法|文字列から配列への変換も解説


この記事では、ArrayListを文字列に変換する方法と、その逆である文字列を配列に変換する方法について解説します。

ArrayListクラスは、java.utilパッケージに含まれているサイズを動的に変更できる可変長配列です。Javaの組み込み配列とArrayListの最大の違いは、組み込み配列は一度作成するとサイズを変更できないのに対し、ArrayListは要素の追加や削除に合わせて自動的にサイズが拡張・縮小されるという点にあります。

変換イメージ

まず、文字列を配列に変換したときの入力と出力の例を見てみましょう。

入力:

入力文字列: Java Program

出力:

文字列から変換後の配列:
J a v a P r o g r a m

アルゴリズム

ArrayListから文字列への変換

ステップ1 - 処理を開始する
ステップ2 - ArrayListを宣言する
ステップ3 - 「add」メソッドを使って要素を追加する
ステップ4 - リストの内容をコンソールに表示する
ステップ5 - 「toString」メソッドを使って文字列に変換する
ステップ6 - 結果の文字列を表示して終了する

文字列から配列への変換

ステップ1 - 処理を開始する
ステップ2 - 文字列を定義する
ステップ3 - 文字列の長さと同じサイズのchar型配列を作成する
ステップ4 - ループ処理で「charAt」メソッドにより各文字を取り出し、配列に格納する
ステップ5 - 配列の内容を表示して終了する

例1:ArrayListを文字列に変換する

ArrayListのtoString()メソッドを呼び出すだけで、リスト全体を1つの文字列に変換できます。

import java.util.ArrayList;
public class Demo {
   public static void main(String[] args) {
      System.out.println("必要なパッケージをインポートしました");
      ArrayList<String> input_array = new ArrayList<>();
      input_array.add("Java");
      input_array.add("Python");
      input_array.add("Scala");
      input_array.add("JavaScript");
      System.out.println("定義された配列: " + input_array);
      String result_string = input_array.toString();
      System.out.println("\n変換結果の文字列: " + result_string);
   }
}

出力

必要なパッケージをインポートしました
定義された配列: [Java, Python, Scala, JavaScript]

変換結果の文字列: [Java, Python, Scala, JavaScript]

例2:文字列を配列に変換する

次に、文字列を1文字ずつ分解してchar型配列に格納する例を紹介します。

public class Demo {
   public static void main(String args[]){
      String input_string = "Java Program";
      System.out.println("定義された文字列: " + input_string);
      char[] result_array = new char[input_string.length()];
      for (int i = 0; i < input_string.length(); i++) {
         result_array[i] = input_string.charAt(i);
      }
      System.out.println("文字列から変換後の配列: ");
      for (char c : result_array) {
         System.out.print(c + " ");
      }
   }
}

出力

定義された文字列: Java Program
文字列から変換後の配列:
J a v a P r o g r a m

補足:もっと簡単な変換方法

toCharArray()で1行変換

JavaにはtoCharArray()という便利なメソッドが標準で用意されており、ループ処理を書かなくても1行で文字列をchar型配列に変換できます。

char[] result_array = input_string.toCharArray();

String.join()でカンマ区切りに結合

toString()メソッドの出力には角括弧 [ ] が含まれます。括弧なしで要素を連結したい場合は、String.join()メソッドを使うと便利です。

String result = String.join(", ", input_array);
// 出力例: Java, Python, Scala, JavaScript

まとめ

ArrayListを文字列に変換するにはtoString()メソッド、文字列を配列に変換するにはcharAt()メソッドを使ったループ処理、またはtoCharArray()メソッドを使用します。用途に応じてこれらを使い分けることで、Javaでのデータ変換処理をより簡潔かつ効率的に記述できます。

  1. Javaで文字列配列を1つの文字列に変換・連結する方法を徹底解説

    はじめに Javaプログラミングでは、複数の文字列が格納された配列を、1つの文字列に連結したい場面がよくあります。この記事では、代表的な3つの方法――StringBuffer、Arrays.toString()メソッド、そしてJava 8で導入されたStringJoinerクラス――を使った変換手順を、サンプルコードと実行結果とあわせてわかりやすく解説します。記事の最後では、より簡潔に書けるString.join()やStream APIについても紹介します。 方法1:StringBufferを使う 古くから使われる定番のアプローチです。手順は以下のとおりです。 空のStringBuff

  2. Javaで文字列と16進数を相互に変換する方法を解説

    文字列を16進数(Hexadecimal)に変換するJavaでは、IntegerクラスのtoHexString()メソッドを使うと、整数を引数として渡すだけで16進数表記の文字列を取得できます。このメソッドを利用して、文字列全体を16進数に変換する手順は以下のとおりです。対象となる文字列を用意します。空のStringBufferオブジェクトを作成します。StringクラスのtoCharArray()メソッドで、文字列をchar型の配列に変換します。ループ処理で、配列の各要素を順番に取り出します。ループ内で各文字をint型に変換し、その値をInteger.toHexString()メソッドに渡し