-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathArrays.kt
More file actions
64 lines (50 loc) · 1.87 KB
/
Copy pathArrays.kt
File metadata and controls
64 lines (50 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package tutorial
import java.util.*
fun main(args: Array<String>){
val mixedArray = arrayOf(1, 3.14, "hello")
// array access elements
println("Element at 1: ${mixedArray[1]}")
println("Index of 'hello': ${mixedArray.indexOf("hello")}")
// copy array
val arrayCopy = mixedArray.copyOfRange(1, 3)
println("Copy of last two elements: ${Arrays.toString(arrayCopy)}")
// construct array
val squareArray = Array(5, {index -> index * index})
println("Square of 4: ${squareArray[4]}")
// ranges
val range = 1..10
println("11 is in range: ${11 in range}")
val skippedRange = range.step(3)
for(v in skippedRange) println("skipped value: $v")
val rangeToList = range.toList()
// Loop over array indices / values
val array = arrayOf(0, 3, 6, 9)
for(i in array.indices){
println("$i x 3 = ${array[i]}")
}
for((i, v) in array.withIndex()){
println("($i, $v)")
}
// Collection operators
val numList = 1..5
println("Sum of list: ${numList.reduce{a, b -> a + b}}")
println("Sum of list + 10: ${numList.fold(10){a, b -> a + b}}")
println("List has any Even: ${numList.any{it % 2 == 0}}")
println("List has only Even: ${numList.all{it % 2 == 0}}")
val smallerThan4 = numList.filter { it < 4 }
smallerThan4.forEach {num -> println("Values < 4: $num")}
val newList = numList.map {num -> num * 2} // 1..5 -> 2..10
newList.forEach {num -> println("New value: $num")}
// Mutable List
val mutableList = mutableListOf(1, 2, 3, 4)
mutableList.add(5)
println("Mutable list: $mutableList, " +
"first item: ${mutableList.first()}, " +
"subList: ${mutableList.subList(0, 2)}")
// (key, value) map
val mutableMap = mutableMapOf(Pair(1, "hello"), Pair(2, "bye"))
println("Map: $mutableMap, Map[1]: ${mutableMap[1]}, Map[3]: ${mutableMap[3] ?: "null"}")
for ((i, v) in mutableMap){
println("Iterate map: ($i, $v)")
}
}