https://kotlinlang.org/docs/collections-overview.html#collection-types
List #
https://dev.to/kotlin/diving-into-kotlin-collections-587o
Listのソート #
data class MyObject(var name:String,var number:Int)
val myObjectList: MutableList<MyObject>? = mutableListOf()
var sortedByName = myObjectList.sortedBy { myObject -> myObject.name }
var sortedByNumber = myObjectList.sortedBy { myObject -> myObject.number }
Listに追加 (イミュータブル) #
val stringList = listOf<String>()
stringList = stringList + "append this string"
Listに追加(ミュータブル) #
val stringList = mutableListOf<String>()
stringList.add("append this string")
先頭を落とす #
stringList.drop(1)
引数で落とす数を指定する。
長さ #
sizeにアクセスする。
stringList.size
map #
first #
lazy な評価がされる方法 #
Collection(List)でなくSequenceにすると、必要なところのみの評価で終えることができる
Iterator(「りすと」).asSequence().map{it.copy(color=yellor)}.first{it.shape==squre}
とすると最初のsquareが出てくるところまで終了。mapはリスト全部の要素には実行しないで済む。
mapとfirstは逆にしたほうがなおよい
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/
https://kotlinlang.org/docs/collections-overview.html#list
Map #
private val referenceTxt:Map<String, String> = mapOf(
"a" to "A is selected",
"b" to "B is selected",
"10" to "10 is selected",
)