2つのリストのペアのリストを作る
2つのリストのペアのリストを作る
zip関数を使います
フォーマット
実装サンプル
分かりやすく、2つのグループで2人1組になってもらいます。
// 年齢と名前を持ったクラス
class Person(val name : String, val age : Int)
fun main (args : Array<String>) {
// なんでもこなすグループ
val sGroup = arrayOf(
Person("kimura", birthDayToAge(LocalDate.of(1972,11,13))),
Person("kusanagi", birthDayToAge(LocalDate.of(1974,7,9))),
Person("katori", birthDayToAge(LocalDate.of(1977,1,31))),
Person("inagaki", birthDayToAge(LocalDate.of(1973,12,8))),
Person("nakai", birthDayToAge(LocalDate.of(1972,8,18)))
)
// なんでも作るグループ
val tGroup = arrayOf(
Person("nagase", birthDayToAge(LocalDate.of(1978,11,7))),
Person("joushima", birthDayToAge(LocalDate.of(1970,11,17))),
Person("matsuoka", birthDayToAge(LocalDate.of(1977,1,11))),
Person("yamaguchi", birthDayToAge(LocalDate.of(1972,1,10))),
Person("kokubun", birthDayToAge(LocalDate.of(1974,9,2)))
)
// 2グループのそれぞれの人の名前を出力
sGroup.zip(tGroup).forEach{println(
it.first.name + "と" + it.second.name
)}
// 一般的にはこういう書き方をします
sGroup.zip(tGroup).forEach{println(
"${it.first.name}と${it.second.name}"
)}
}
fun birthDayToAge(birthday : LocalDate) = ChronoUnit.YEARS.between(birthday, LocalDate.now())
出力結果
kimuraとnagase
kusanagiとjoushima
katoriとmatsuoka
inagakiとyamaguchi
nakaiとkokubun
参考URL
Kotlin公式ドキュメント stdlib / kotlin / zip
最終更新日時:2017年1月13日