栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kotlin的基础语法1.1--数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kotlin的基础语法1.1--数组

数组定义

数组:初始化时候指定容器的大小,不可以动态的调整大小。元素安顺序存储在一连串的内存段上

kotlin 数组的创建

声明对象数组的三种形式:

(1)使用arrayOf函数和指定的数组元素创建数组,必须指定数组的元素,可以为任意类型

//Java写法:
String[] params1 = {"str1", "str2", "str3"};
//kotlin写法:`
val params1 = arrayOf("str1", "str2", "str3")

(2).使用arrayOfNulls函数创建一个指定大小的并初始化每个元素为null的数组,但是必须指定元素的类型

//Java写法:
String[] params2 = new String[12];

//kotlin写法:
val params2 = arrayOfNulls(12)

(3)Array构造方法指定数组大小和一个生成元素的lambda表达式

这种方法创建的数组,其中的每个元素都是非空的

//kotlin写法:
val params3 = Array(3){i -> "str" + i }
// 也可以这么写
val params=Array(3){"str$it"}
基本数据类型数组
  • [] 运算符代表调用成员函数 get() 和 set()。数组是不可变的

  • 除了类Array,还有ByteArray, ShortArray, IntArray,用来表示各个类型的数组,省去了装箱操作,因此效率更高,其用法同Array一样:

     val x: IntArray = intArrayOf(1, 2, 3)
     x[0] = x[1] + x[2]
     println(x[0])  //输出5
     
      val inArray = IntArray(5)
      inArray[0]= 2
      // 创建一个长度为5,值全部为100的整型数组intArray[100,100,100,100,100]
      val intArray2 = IntArray(5){100}
      //这里it是它的索引值,所以创建一个长度为5的intArray[0,2.4,8,16],it是lamble是专有表达式,这里代表数组的下标
      val intArray3 = IntArray(5){it*2 } //{i -> i*2}
    
数组的遍历

java遍历数组

for (int forEach : a) {
   System.out.println("forEach=" + forEach);
}
for (int i = 0 ; i< a.length;i++){
   System.out.println("for遍历:"+a[i]);
}

kotlin遍历数组

方法一:for-in

val numbers2 = Array(10, { value: Int -> (value + 200) })
// 数组for循环遍历 for-in
for (value in numbers2) {
    println(value) //输出200 201 202 203 204 205 206 207 208 209
}
// for-in的加强版: 根据下标在取出数组中的元素
    for (i:Int in numbers2.indices){
    println(i.toString()+"->"+numbers2[i])//输出结果0->200 1->201 2->202 3->203 4->204 5->205 6->206 7->207 8->208 9->209
    }

方法2:forEach

numbers2.forEach { 
   println("forEach:$it") 
}
   // forEach加强版,同时遍历下标和元素 
    numbers2.forEachIndexed{index, i ->
        println("$index:$i")
    }
数组的替换值

数组用类 Array 实现,并且还有一个 size 属性及 get 和 set 方法,由于使用 [] 重载了 get 和 set 方法,所以我们可以通过下标很方便的获取或者设置数组对应位置的值

字符数组转换成字符串
fun main() {
    // 第一种形式建立数组arrayOf
    val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
     println(numbers[0]) //输出1
     println(numbers[7]) //输出8
     // 数组遍历
    for (number in numbers) { 
         println(number) // 输出1 2 3 4 5 6 7 8
    }
// 第二种形式 Array value=0     长度为10,然后根据value+200循环赋值
val numbers2 = Array(10,  {value: Int -> (value + 200) })
for (value in numbers2) {
    println(value) //输出200 201 202 203 204 205 206 207 208 209

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号