美文网首页
Kotlin初次学习(2)

Kotlin初次学习(2)

作者: 从前从前有个人爱你很久啊 | 来源:发表于2017-05-26 17:22 被阅读0次

    今天主要内容跟遍历,搜索,范围有关

    集合的排除 有两种写法

    今天机智的用了markdown

    fun main(args: Array<String>) {
        var list :IntArray = intArrayOf(1, -2, 3) //数组表示方式
    
        val positives = list.filter { x -> x > 0 } //  排除x大于0   返回值是个数组
        val i = list.filter { it >2 }// 缩写,it直接表示list里面元素
    
        println(positives) //可以直接输出数组  神奇 还是我不知道哇搞错了,印象中java会输出地址值哇
        println(i)
    } 
    
    输出:
    [1, 3]
    [3]
    

    遍历集合或者map

    • 里面很有趣,k ,v就是规定语法key 跟value 不需要自己定义,还有it,就是list里面规定的元素,当然也可以自己定义var值
    • 写集合或者写map就是这样写的,稍微有点奇怪记下就好
    // var map : HashMap<String,Int> = hashMapOf<String,Int>()
        var map = hashMapOf<String,Int>()
        map.put("张三",17)
        map.put("李四",26)
    
        for ((k, v) in map) {
            println("$k -> $v")
        }
    
        var list = intArrayOf(1,2,3)
        for (it in list){
            println(it)
        }//下面就是输出
    李四 -> 26
    张三 -> 17
    1
    2
    3
    

    范围的搜索

    • 比如1到10,升序,降序啊,上一文章里面的间隔啊
    for (i in 1..100) { ... }  //1到100 ,并且包含100
    for (i in 1 until 100) { ... } // 1到99,但是不包含100
    for (x in 2..10 step 2) { ... }间隔2个 ,输出2,4,6,8,10
    for (x in 10 downTo 1) { ... }
    if (x in 1..10) { ... }
    
    • 补充一个map写法 效果如下 所以不管集合还是map或链表都是xxxxof
    val map = mapOf("a" to 1, "b" to 2, "c" to 3)
    输出:
    {a=1, b=2, c=3}
    
    • 还有一个补充用法 开始误解成,这是一个规定用法“key”,会打出所有value,原来只是通过键找值,比java更简便
     var map = hashMapOf<String,Int>()
        map.put("张三",17)
        map.put("李四",26)
        println(map["key"])
        println(map["张三"])
    输出:
    null
    17
    

    暂时写到这,碰到一个懒加载什么好好想想

    -w

    相关文章

      网友评论

          本文标题:Kotlin初次学习(2)

          本文链接:https://www.haomeiwen.com/subject/msptfxtx.html