Android-Kotlin-区间与for&List&Map简单使用

区间与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)

执行结果:

原文地址:https://www.cnblogs.com/android-deli/p/10318540.html