Kotlin初次学习(2)

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

集合的排除 有两种写法

今天机智的用了markdown

fun main(args: Array) {
    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 = hashMapOf()
    var map = hashMapOf()
    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()
    map.put("张三",17)
    map.put("李四",26)
    println(map["key"])
    println(map["张三"])
输出:
null
17

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

-w

你可能感兴趣的:(Kotlin初次学习(2))