DEV Community

kaede

Posted on • Updated on

元の配列を書き換えない処理

forEach

``````numbers.forEach {number->
println("This Unit Cost is: \${number + 440} yen.")
}
``````
``````This Unit Cost is: 540 yen.
This Unit Cost is: 640 yen.
This Unit Cost is: 740 yen.
``````

map

https://qiita.com/watame/items/87b7923d4f3f59ffb653#map

イテレーション(反復される単位) は it で表現できる。

``````val numbers = listOf(100, 200, 300)
val numbersWithDeliveryCost = numbers.map { it + 440 }
println(numbersWithDeliveryCost)
``````

[540, 640, 740]

``````val numbers = listOf(100, 200, 300)
numbers.map {number->
println("This Unit Cost is: \${number + 440} yen.")
}
``````
``````This Unit Cost is: 540 yen.
This Unit Cost is: 640 yen.
This Unit Cost is: 740 yen.
``````

forEach と同じく関数に書いておけば、即時実行される。
なので return を書かずに配列の中身一つ一つで処理を走らせるのにも使える。

filter

``````    val numbers = listOf(100, 200, 300)
val numbersUnder300 = numbers.filter {number->
number < 300
}
println(numbersUnder300)
``````

[ 100, 200 ]

300 円未満の商品だけ絞り込む例。

find

https://pouhon.net/kotlin-collection-method/1434/

ひとつしか返ってこない。

``````    val numbers = listOf(100, 200, 300)
val firstNumbersUnder300 = numbers.find {number->
number < 300
}
println(firstNumbersUnder300)
``````

100

300 未満は 100 と 200 があるが

sorted

https://kotlinlang.org/docs/collection-ordering.html#natural-order

``````    val numbers = listOf(9,5,2,3,100,5,1)
val sortedNumbers = numbers.sorted()
println(sortedNumbers)
``````

[1, 2, 3, 5, 5, 9, 100]

// TODO 日付

元の配列を書き換える

sort

``````    val numbers = mutableListOf(9,5,2,3,100,5,1)
numbers.sort()
println(numbers)
``````

[1, 2, 3, 5, 5, 9, 100]