当サイトは、アフィリエイト広告を利用しています

【java8】配列を区切り文字列に変換する

作成日:2022月09月10日
更新日:2023年12月14日

java8のstreamAPIを使って配列を区切り文字を指定して区切り文字列に変換する
方法をまとめる。
方法としては下記の2パターンがある

  • 配列をstreamにしてから区切り文字列に変換する
  • 配列をListにして、さらにstreamしてから区切り文字列に変換する

ArrayListを区切り文字列に変換する方法については下記記事で紹介してます

また当ブログで紹介しているjava8のstreamAPIを使った
コレクションや配列の操作方法を
下記記事でメソッド別にまとめています!

配列をstreamにしてから区切り文字列に変換する

ArraysクラスのstreamメソッドとインタフェースStreamのcollectメソッドを使う Arraysクラスのstreamメソッドは配列をstreamに変換することができる。

Main.java
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.*;
public class Main {
public static void main(String[] args) throws Exception {
String []stringArray = {"aaa", "bbb", "cccc" };
// 文字列配列をstreamに変換
Stream<String> stringStream = Arrays.stream(stringArray);
//streamから区切り文字列に変換
String joined1 = stringStream.collect(Collectors.joining(","));
//一文で書くパターン
String joined2 = Arrays.stream(stringArray).collect(Collectors.joining(","));
System.out.println(joined1);
System.out.println(joined2);
}
}
// 実行結果
// aaa,bbb,cccc

各メソッドの詳細は下記参照
クラスArrays
インタフェースStream< T >

配列をListにして、さらにstreamしてから区切り文字列に変換する

配列を一度Listにしてから変換するパターン。

Main.java
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.*;
public class Main {
public static void main(String[] args) throws Exception {
String []stringArray = {"aaa", "bbb", "cccc" };
// 配列からListへ変換
List<String>stringList = Arrays.asList(stringArray);
// Listから区切り文字列へ
String joined3 = stringList.stream().collect(Collectors.joining(":"));
// 1文で書く
String joined4 = Arrays.asList(stringArray).stream().collect(Collectors.joining(":"));
System.out.println(joined3);
System.out.println(joined4);
}
}
// 実行結果
// aaa:bbb:cccc

各メソッドの詳細は下記参照
クラスArrays
インタフェースStream< T >

動作確認

下記で上記二つの動作を確認

【java8】配列を区切り文字列に変換する

まとめ

区切文字列と配列とListの相互変換は使ってるjavaのフレームワークによっては
多用するのでまとめておく。
古ければ古いほど、使う機会が多い気がする...

参考

参考書籍

新着記事

タグ別一覧
top