当サイトは、アフィリエイト広告を利用しています
java8のstreamAPIを使って配列を区切り文字を指定して区切り文字列に変換する
方法をまとめる。
方法としては下記の2パターンがある
ArrayListを区切り文字列に変換する方法については下記記事で紹介してます
また当ブログで紹介しているjava8のstreamAPIを使った
コレクションや配列の操作方法を
下記記事でメソッド別にまとめています!
ArraysクラスのstreamメソッドとインタフェースStreamのcollectメソッドを使う Arraysクラスのstreamメソッドは配列をstreamに変換することができる。
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にしてから変換するパターン。
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 >
下記で上記二つの動作を確認
区切文字列と配列とListの相互変換は使ってるjavaのフレームワークによっては
多用するのでまとめておく。
古ければ古いほど、使う機会が多い気がする...