val boys =
listOf("Sheldon", "Leonard", "Howard", "Raj")
val girls =
listOf("Penny", "Amy", "Bernadette")
operator fun Any?.unaryPlus() =
this.apply { println(this) }
+boys
+girls
[Sheldon, Leonard, Howard, Raj]
[Penny, Amy, Bernadette]
val boys: List<String> =
listOf("Sheldon", "Leonard", "Howard", "Raj")
val girls: List<String> =
listOf("Penny", "Amy", "Bernadette")
val sheldon = +boys[0]
val leonard = +boys.get(1)
val unknown = +boys.getOrNull(4)
val default = +boys.getOrElse(5) { "Default" }
Sheldon
Leonard
null
Default
val names = ArrayList<String>()
names.add("Leonard")
names[0] = "Sheldon"
+names
[Sheldon]
val names = boys + girls
public operator fun <T> Collection<T>.plus(
elements: Iterable<T>
): List<T> {
...
val result = ArrayList<T>(this.size + elements.size)
result.addAll(this)
result.addAll(elements)
return result
val students: List<Student> =
names
.map {
Student(it)
}
class Student(
val name: String
){
override fun toString() = name
}
public inline fun <T, R> Iterable<T>.map(
transform: (T) -> R
): List<R> {
return mapTo(
ArrayList<R>(collectionSizeOrDefault(10)),
transform
)
}
public inline fun <T, R, C : MutableCollection< in R >>
Iterable<T>.mapTo(destination: C, transform: (T) -> R): C {
for (item in this)
destination.add(transform(item))
return destination
}
val students = Array(names.size){Student()}
for (i in 0 until names.size)
students[i]=Student(names[i])
val students = ArrayList< Student >()
for (n in names)
students.add(Student(n))
val students = names
.map { Student(it) }