今天主要内容跟遍历,搜索,范围有关
集合的排除 有两种写法
今天机智的用了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
网友评论