Javaで文字列を文字のリスト(List)に変換する方法
Javaでは、chars()メソッドとStream APIを組み合わせることで、文字列を簡単にList<Character>へ変換できます。この記事では、その具体的な手順をサンプルコード付きで解説します。
変換の基本アプローチ
まず、変換対象となる文字列を用意します。
String str = "Website!";
この文字列を文字のリストに変換するには、以下のように記述します。
List<Character> list = str.chars().mapToObj(n -> (char)n).collect(Collectors.toList());
処理の流れを解説
- chars():文字列をIntStream(各文字のUnicodeコードポイント)に変換します。
- mapToObj(n -> (char)n):int値を対応するchar型の文字にマッピングし、Stream<Character>に変換します。
- collect(Collectors.toList()):ストリームの要素をListとして収集します。
完全なサンプルプログラム
以下は、文字列を文字のリストに変換するJavaプログラムの完全な例です。
import java.util.*;
import java.util.stream.Collectors;
public class Demo {
public static void main(String[] args) {
String str = "Website!";
System.out.println("String = " + str);
List<Character> list = str.chars()
.mapToObj(n -> (char)n)
.collect(Collectors.toList());
System.out.println("List of Characters = " + list);
}
}
実行結果
このプログラムを実行すると、次のような出力が得られます。
String = Website! List of Characters = [W, e, b, s, i, t, e, !]
補足:別の変換方法
Java 16以降では、.toList()メソッドを使ってより簡潔に記述することも可能です。
List<Character> list = str.chars().mapToObj(n -> (char)n).toList();
また、従来のループ処理を使いたい場合は、以下のようにtoCharArray()を利用する方法もあります。
List<Character> list = new ArrayList<>();
for (char c : str.toCharArray()) {
list.add(c);
}
状況に応じて、可読性やパフォーマンスのバランスを考慮して最適な方法を選択しましょう。
-
【Python入門】リストを文字列に変換する4つの方法を徹底解説
本記事では、Pythonでリスト(list)型のデータを文字列(string)型に変換する方法について、代表的な4つのアプローチをサンプルコードとともにわかりやすく解説します。 問題設定 与えられたリストを、ひとつながりの文字列に変換することを目標とします。例えば、複数の文字列要素を持つリストを結合して、単一の文字列として扱いたいケースなどが該当します。 ここでは、以下の4つの異なるアプローチを順番に見ていきましょう。 方法1: 空の文字列への連結(forループ) 最も基本的な方法は、空の文字列を用意し、forループでリストの各要素を順番に連結していくやり方です。処理の流れが直感的で、初心者
-
Pythonで文字のリストを文字列に変換する方法を解説
Pythonでは、リスト内の個々の要素をひとつの文字列にまとめたい場面がよくあります。たとえば、データを保存したり送信したりする際に必要となるシリアライズ(直列化)の処理では、このような変換が非常に役立ちます。具体的には、次のような変換を指します。[h, e, l, l, o, , w, o, r, l, d] → hello worldjoinメソッドを使った変換Pythonには、このような変換を実現するためのjoin()メソッドが標準で用意されています。joinメソッドは、区切り文字(デリミタ)として使う文字列に対して呼び出し、引数に渡したリストの各要素を連結します。今回は各文字をつなげ