区间与for:
package cn.kotlin.kotlin_base04 /** * 区间与for */ fun main(args: Array<String>) { /** * Kotlin中提供了区间,例如:存入1到100 , 在Java中可能要写多行代码,而在Kotlin中很简单,代码如下 * 1..100 */ var numbers = 1..100 /** * 用for循环打印 */ for (n in numbers) print("$n ") println("------------------------") var numbers2 = 20..25 /** * 用for循环打印 有下标的详情 */ for (n in numbers2.withIndex()) println("$n ") println("------------------------") /** * 用for循环打印 有下标的 */ for ((index, value) in numbers2.withIndex()) println("$index , $value ") println("------------------------") var numbers3 = 1..6 /** * 用for循环打印 step(2) 是打印第二个 例如:123456 ,打印的是:135 */ for (n in numbers3 step(2)) { println("$n ") } println("------------------------") /** * 用for循环打印 step(3) 是打印第二个 例如:123456 ,打印的是:14 */ for (n in numbers3 step(3)) { println("$n ") } println("------------------------") /** * 反转 其实就是把数据倒过来,例如:1234 .reversed() 后 4321 */ numbers.reversed() }
执行结果:
List:
package cn.kotlin.kotlin_base04 /** * 定义描述一个实体 */ class Student(var name: String, var age: Int, var sex: String) /** * List集合 */ fun main(args: Array<String>) { /** * 定义一个List集合,存入String字符串类型的数据 */ var list :List<String> = listOf<String>("李小龙", "李元霸", "李连杰", "李云龙", "李子天") // 打印List集合里面的数据 for(lis in list) { println("$lis ") } println("------------------------------------------------") /** * 定义一个List集合,存入Int整数类型的数据 */ var listInt : List<Int> = listOf<Int>(1, 2, 3, 4, 5, 6, 7, 8 ,9) // 打印List集合里面的数据 for(lis in listInt) { println("$lis ") } println("------------------------------------------------") /** * 定义一个List集合,存入float浮点型类型的数据 */ var listFloat = listOf(10.0, 12.4, 54.6, 43.9, 24.7) // 打印List集合里面的数据 for(li in listFloat) { println("$li ") } println("------------------------------------------------") /** * 定义一个List集合,存入Double双精度浮点型类型的数据 */ var listDouble = listOf(90.0, 72.4, 74.6, 53.9, 84.7) // 打印List集合里面的数据 for(lis in listDouble) { println("$lis ") } println("------------------------------------------------") /** * 定义一个List集合,存入Studnet实体 */ var students = listOf<Student>( Student("张三", 99, "男"), Student("李四", 98, "女"), Student("王五", 97, "男")) for (student in students) println("name:${student.name}, age:${student.age}, sex:${student.name}") }
执行结果:
Map
package cn.kotlin.kotlin_base04 import java.util.* /** * Map集合 键值对 K V */ fun main(args: Array<String>) { /** * 定义Map Key类型是Int, Value类型是String */ var map1: TreeMap<Int, String> = TreeMap<Int, String>() map1[0] = "Java语言" map1[1] = "Kotlin语言" map1[2] = "C语言" map1[3] = "C++语言" map1[4] = "C#语言" map1[5] = "PHP语言" // 打印Key Value详情 println("keys:${map1.keys}, values:${map1.values}") println("--------------------------------------------------") // 打印Map的值 for (m in map1) println("key:${m.key}, value:${m.value}") println("--------------------------------------------------") /** * 定义Map Key类型是String, Value类型是Double */ var map2 = TreeMap<String, Double>() map2["一"] = 612.8 map2["二"] = 653.0 map2["三"] = 864.7 map2["四"] = 644.7 map2["五"] = 433.7 for (m in map2) { println("key:${m.key}, value:${m.value}") } println("--------------------------------------------------") /** * 定义Map Key类型是int, Value类型是Int */ var map3: TreeMap<Int, Int> = TreeMap() // iVar是可以让for循环6次 var iVar = 1..6 // 用for 存储Map的值 iVar.count()可以得到总数6 for (i in iVar) map3.set(i + 1, i + 100) // 用for 打印Map的值 for (m in map3) println("key:${m.key}, value:${m.value}") println("--------------------------------------------------") /** * 定义Map Key类型是Int, Value类型是Person实体 */ var map4: TreeMap<Int, Person> = TreeMap() map4[100] = Person("小华", 109, "男") map4[300] = Person("小名", 110, "女") map4[999] = Person("小丽", 100, "男") // 用for 打印Map的值 for (m in map4) println("key:${m.key}, value:name${m.value.name},age${m.value.age},sex${m.value.age}") } /** * 定义描述一个实体 */ class Person(var name: String, var age: Int, var sex: String)
执行结果: