[Kotlin]Map(マップ)をカンマ区切りで結合して文字列に変換するは?

Kotlin

どうも、ちょげ(@chogetarou)です。

Map(マップ)をカンマ区切りで結合して文字列に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Map(マップ)をカンマ区切りで結合して文字列に変換する方法は、3つあります。

キーと値のペア

1つ目は、キーと値のペアを結合する方法です。

まず、map.entriesのように、Mapのentrisプロパティにアクセスします。

そして、entriesプロパティからjoinToString()を呼び出します。

val result = map.entries.joinToString()

上記のjoinToString()は、 Mapのキーと値のペア(key=value)をカンマ区切りで結合した文字列を返します。

使用例

fun main() {
    val numbers = mapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3,
        "four" to 4,
        "five" to 5
    )
    
    val result = numbers.entries.joinToString()
    
    println(result)
}
出力:
one=1, two=2, three=3, four=4, five=5

キー

2つ目は、キーを結合する方法です。

まず、map.keysのように、Mapのkeysにアクセスします。

そして、keysからjoinToString()を呼び出します。

val result = map.keys.joinToString()

上記のjoinToString()は、Mapのキーをカンマ区切りで結合した1つの文字列を返します。

joinToString()の引数を使ってカンマ区切りにできます。

引数を使う場合は、joinToString()の引数「separator」にカンマを指定します。

val result = map.keys.joinToString(separator=",")

使用例

fun main() {
    val numbers = mapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3,
        "four" to 4,
        "five" to 5
    )
    
    val result = numbers.keys.joinToString()
    
    println(result)
}
出力:
one, two, three, four, five

3つ目は、値を結合する方法です。

まず、map.valuesのように、Mapのvaluesにアクセスします。

そして、valuesからjoinToString()を呼び出します。

val result = map.values.joinToString()

上記のjoinToString()は、Mapの値をカンマ区切りで結合した1つの文字列を返します。

joinToString()は、引数を使ってカンマ区切りにできます。

引数を使う場合は、joinToString()の引数「separator」にカンマを指定します。

val result = map.values.joinToString(separator=",")

使用例

fun main() {
    val numbers = mapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3,
        "four" to 4,
        "five" to 5
    )
    
    val result = numbers.values.joinToString()
    
    println(result)
}
出力:
1, 2, 3, 4, 5

まとめ

Map(マップ)をカンマ区切りで結合して文字列に変換する方法は、次の3つです。

  • キーと値のペアを結合する方法
    val result = map.entries.joinToString()
  • キーを結合する方法
    val result = map.keys.joinToString()
  • 値を結合する方法
    val result = map.values.joinToString()

コメント

タイトルとURLをコピーしました