fun main() {
var a: List<Int> = listOf(1, 2, 3)
a.forEach {
println(it + 1)
}
}
출력
2
3
4
fun main() {
var a: List<Int> = listOf(1, 2, 3)
var b = a.filter {
it > 1
}
println(b)
}
출력
[2, 3]
fun main() {
var a: List<Int> = listOf(1, 2, 3)
var b = a.map {
it * 2
}
println(b)
}
출력
[2, 4, 6]
fun main() {
var a: List<Int> = listOf(1, 2, 3)
if (a.any{ it==2 }) {
println("any: 하나라도 조건에 맞으면 true를 반환")
}
if (a.all{ it is Int }) {
println("all: 모두 조건에 맞으면 true를 반환")
}
if (a.none{ it > 4 }) {
println("none: 하나도 조건에 맞지 않으면 true를 반환")
}
}
출력
any: 하나라도 조건에 맞으면 true를 반환
all: 모두 조건에 맞으면 true를 반환
none: 하나도 조건에 맞지 않으면 true를 반환
fun main() {
var a: List<Int> = listOf(1, 2, 3, 4)
println(a.first())
println(a.first{ it > 1 })
println(a.last())
println(a.last{ it < 4 })
}
출력
1
2
4
3
fun main() {
var a: List<Int> = listOf(1, 2, 3, 4)
println(a.count())
println(a.count{ it > 2 })
}
출력
4
2
fun main() {
var people: List<Person> = listOf(Person("sang", 24),
Person("mok", 12),
Person("lee", 36))
var map = people.associateBy{ it.name }
println(map)
}
class Person(val name: String, var age: Int)
출력
{sang=Person@6b884d57, mok=Person@38af3868, lee=Person@77459877}
fun main() {
var people: List<Person> = listOf(Person("sang", 12),
Person("mok", 12),
Person("lee", 36))
var map = people.groupBy{ it.age }
println(map)
}
class Person(val name: String, var age: Int)
출력
{12=[Person@2a84aee7, Person@a09ee92], 36=[Person@30f39991]}
fun main() {
var people: List<Person> = listOf(Person("sang", 12),
Person("mok", 24),
Person("lee", 36))
var pair = people.partition{ it.age > 20 }
println("first: ${pair.first}")
println("second: ${pair.second}")
}
class Person(val name: String, var age: Int)
출력
first: [Person@30f39991, Person@452b3a41]
second: [Person@23fc625e]
fun main() {
var people: List<Person> = listOf(Person("sang", 12),
Person("mok", 24),
Person("lee", 36))
var (ageOver20, ageUnder20) = people.partition{ it.age > 20 }
println(ageOver20)
println(ageUnder20)
}
class Person(val name: String, var age: Int)
출력
[Person@30f39991, Person@452b3a41][Person@23fc625e]
fun main() {
var nums: List<Int> = listOf(1, 3, 5)
var flat = nums.flatMap {
listOf(it * 2, it + 6)
}
println(flat)
}
출력
[2, 7, 6, 9, 10, 11]
fun main() {
var nums: List<Int> = listOf(1, 3, 5)
println(nums.getOrElse(2) { 10 }) // nums[2] 가 존재하므로 5 반환
println(nums.getOrElse(5) { 10 }) // nums[5] 가 없으므로 10 반환
}
출력
5
10
fun main() {
var nums: List<Int> = listOf(1, 3, 5)
var strings: List<String> = listOf("one", "three", "five", "seven")
for ((num, string) in nums zip strings) {
println("${num}: ${string}")
}
}
출력
1: one
3: three
5: five