[Android/Kotlin]配列の分割と結合して羅列

目次

配列の結合して羅列

文字列として出力

何かの文字で配列の各データを連結させたい時がある。
For文を使えば簡単だが、どうせなら1行で済ませたい。
データベースのカラム作成とか少々面倒だし…
そんな時はjoinToStringメソッドを使用することで、
各要素をjoinToStringメソッドの引数に設定した文字で連結して一つの文字列にできる。

val columnNames = listOf<String>("id", "name", "age", "address", "createDate", "updateDate")
Log.d("columns", columnNames.joinToString("," ))
Kotlin
D/columns: id,name,age,address,createDate,updateDate
Kotlin

数値の合計を出力

数字の合計はsumメソッドを使用することで求められる。

val integerList = listOf<Int>(1, 2, 3, 4, 5)
Log.d("sum", integerList.sum().toString())
Kotlin
D/sum: 15
Kotlin

配列の分割

配列を特定の文字で分割する

分割する際はsplitメソッドを使用する。
一つの文字列をsplitメソッドの引数に設定した文字で分割して、そのまま配列にできる。
言わば、joinToStringメソッドの逆のパターンということ。
ちなみに、引数は半角の英数字だけでなく、以下のように日本語、複数文字を設定できる。
なので、「\n」など使用すれば、1行1行のデータを配列にすることができる。

val magickString = "炎属性水属性風属性雷属性闇属性"
val typeArray = magickString.split("属性")
Log.d("split", typeArray.toString())
Kotlin
D/split: [炎, 水, 風, 雷, 闇, ]
Kotlin

参考ページ:
chatora tips「【Kotlin入門】配列の中身を繋げるJoinと文字列を分解して配列にするSplit」