どうも、ちょげ(@chogetarou)です。
Map(マップ)の値(value)を重複なしで結合して1つの文字列に変換する方法を紹介します。
方法

Map(マップ)の値(value)を重複なしで結合して1つの文字列に変換するには、distinct()とjoinToString()を使います。
まず、map.values
のように、Mapのvaluesにアクセスします。
valuesからdistinct()を呼び出します。
そして、distinct()からjoinToString()を呼び出します。
joinToString()の引数「separator」に区切り文字を指定します。
val result = map.values.distinct().joinToString(separator="区切り文字")
上記のjoinToString()は、Mapの値を重複なしで結合した1つの文字列を返します。
また、文字列内では、1つの1つの値が区切り文字ごとに区切られます。
使用例
fun main() {
val numbers = mapOf(
"one" to 1,
"two" to 2,
"いち" to 1,
"three" to 3,
"four" to 4,
"five" to 5,
"一" to 1
)
val result = numbers.values.distinct().joinToString(separator=" / ")
println(result)
}
出力:
1 / 2 / 3 / 4 / 5
コメント