Kotlin 集合基础

在学习Kotlin 过程中发现做了很优化,在语法书写上Kotlin 做了很多考虑,总结下

  • 变量非空与空,在声明一个变量的时候,默认是不允许变量为空
       var name:String=null;//编译不过

如果想编译通过就需要显示声明,变量类型加?操作符

   var name:String?=null;//编译过
  • 类或者方法修饰符,私有或者公开
      class JiSuan {
        public fun sun() {
        }

        private fun sun1() {
        }
    }

在类的声明中,没有类似Java中public修饰,因为在Kotlin 中已经默认Kotlin ,不需要加,如果自己方法或者类需要私有,那么加private

总结 Kotlin 中已经对语法熟悉做了优化,同样在集合中,也存在集合是否为空,是否可变

Kotlin 集合

  • 集合与可空性
         //声明一个空的集合,空的集合
        var list=ArrayList<String>()
        //声明一个空的集合,并且元素可以为空/null
        var list1=ArrayList<String?>()
  • 只读集合和可变集合
    在这里插入图片描述
    listOf 可读集合或者不可变集合,集合拥有数组for循环的特性,forEach 方法,和get方法,没有set方法,因为不可变得,但是如果是可变集合是有set方法的
        //可读数组,for循环
        var lists = listOf<String>("光模块", "网线", "跳线", "路由")
        for (item in lists)
            Log.i("item->", item)

        for (index in lists.indices)
            Log.i("index->", index.toString())
            
        lists.forEach { item -> Log.i("forEach=",item) }
        lists.get(0)

mutableMapOf map可读不可变,可读map跟可读list一样没有add方法,也会存在跟list一样for循环方法

        //只读
        var map= mapOf("name" to "xiaoming")
        //创建一个可变的map
        var map1=HashMap<String,String> ()
        map1.put("name","mm")
        //创建一个可变的map
        var map2=mutableMapOf(Pair("name","xiaoming"));
     // 使用forEach遍历
    goodsMap.forEach { key, value ->
        println(key)
        println(value)

在实际开发项目过程中,我们用list跟map数据结构比较多一些,当然像list和map一些其他方法,排序过滤我们都没学到,只是做了介绍,开发过程中多数是Kotlin 跟Java混合开发,目前Kotlin 的生态还没有完全,包括第三方插件,第三方库可能还是痛的Java来实现的,所以必然会处在互相调用情况,建议在Kotlin 中所有list或者map声明全都用可变声明方式

  • 集合与数组互相转化
    fun main(args: Array<String>) {
    
    //声明一个数组
    val array1 = arrayListOf("str1", "str2", "str3")
    //将数组转化为集合
    val list1 = array1.toList()
    //将集合转化为数组
    val array2 = list1.toTypedArray()
}
  • 补充
    list 中的方法统一适用数组
    list.remove() //移除某个元素
        list.reverse()//翻转集合
        list.size   //长度
        list.add()  //新增元素
        list.toArray()  //转换数组
        list.contains()  //是否包含某个元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值