首页 > 其他分享 >Android-Kotlin-区间与FOR&LIST&MAP简单使用

Android-Kotlin-区间与FOR&LIST&MAP简单使用

时间:2023-06-22 14:33:59浏览次数:36  
标签:MAP List 打印 LIST value var map1 Kotlin println


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

执行结果:

Android-Kotlin-区间与FOR&LIST&MAP简单使用_数据



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}")
}

执行结果:

Android-Kotlin-区间与FOR&LIST&MAP简单使用_for循环_02



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)

执行结果:

Android-Kotlin-区间与FOR&LIST&MAP简单使用_android_03


标签:MAP,List,打印,LIST,value,var,map1,Kotlin,println
From: https://blog.51cto.com/u_16163510/6534869

相关文章

  • Android-Kotlin-递归与尾递归
    递归:阶乘计算:/***阶乘:*1的阶乘是1,因为1往下走一个楼梯就是0了*2的阶乘是2*1*3的继承是3*2*1*4的继承是4*3*2*1*5的阶乘是5*4*2*1*/packagecn.kotlin.kotlin_base06......
  • Kotlin高阶函数、内联函数以及集合变换序列
    一、高阶函数高阶函数的一个重要特征就是参数类型包含函数,或者该函数的返回值类型是一个函数类型,那么该函数就被称为是高阶函数。下面看看如何把函数作为参数声明到另一个函数中://参数包含函数类型,()代表一个匿名函数,Unit代表无返回值funparamFunction(block:()->Unit){b......
  • Kotlin flow实践总结
    背景最近学了下KotlinFlow,顺便在项目中进行了实践,做一下总结。Flow是什么按顺序发出多个值的数据流。本质就是一个生产者消费者模型,生产者发送数据给消费者进行消费。冷流:当执行collect的时候(也就是有消费者的时候),生产者才开始发射数据流。生产者与消费者是一对一的关系。当生产......
  • R语言ggmap空间可视化机动车交通事故地图|附代码数据
    原文链接:http://tecdat.cn/?p=12350最近我们被客户要求撰写关于空间可视化的研究报告,包括一些图形和统计输出。在本文中,我使用ggmap可视化纽约市的交通事故数据来自纽约市开放数据。我的数据范围是2012年至2015年。该数据跟踪车辆的类型,发生事故的街道的名称以及事故的经度和纬......
  • Kotlin协程:Flow基础原理
    本文分析示例代码如下:launch(Dispatchers.Main){flow{emit(1)emit(2)}.collect{delay(1000)withContext(Dispatchers.IO){Log.d("liduo","$it")}Log.d("liduo",&......
  • Kotlin 增量编译是怎么实现的?
    前言编译运行是一个Android开发者每天都要做的工作,增量编译对于开发者也极其重要,高命中率的增量编译可以极大的提高开发者的开发效率与体验之前写了一些文章介绍Kotlin增量编译的原理,以及Kotlin1.7支持了跨模块增量编译了解了这些基本原理之后,我们今天一起来看下Kotlin增量编译......
  • 换个姿势,十分钟拿下Java/Kotlin泛型
    0x1、引言解完BUG,又有时间摸鱼学点东西了,最近在复习Kotlin,跟着朱涛的《Kotlin编程第一课》查缺补漏。看到泛型这一章时,想起之前面一家小公司时的面试题:说下你对泛型协变和逆变的理解?读者可以试试在不查资料的情况下能否答得上来?反正我当时是没想起来,尽管写过一篇《Kotlin刨根问底......
  • gRPC 的 RoadMap 20160325 更新
    gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(ProtocolBuffers)序列化协议开发,且支持众多开发语言。下面我们就从HTTP2、ProtoBuf3、Nginx、gRPC的角度看他们的RoadMAP。HTTP22015年5月HTTP2协议正式版发布:RF......
  • Android Kotlin Retrofit MVP网络请求封装(四)
    依赖implementation'com.squareup.retrofit2:retrofit:2.9.0'implementation'com.google.code.gson:gson:2.8.8'implementation'com.squareup.okhttp3:okhttp:4.9.1'implementation'com.squareup.retrofit2:retrof......
  • Android Kotlin 底部菜单栏
    LoginSuccessActivity布局<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tool......