一、Kotlin、Java中的数组对比
数组分类 | Kotlin | Java |
---|---|---|
整型 | IntArray | int[] |
整型装箱 | Array<Int> | Integer[] |
字符 | CharArray | char[] |
字符装箱 | Array<Char> | Character[] |
字符串 | Array |
String[] |
浮点型 | FloatArray | float[] |
浮点型装箱 | Array<Float> | Float[] |
双精度 | DoubleArray | double[] |
双精度装箱 | Array<Double> | Double[] |
二、数组的创建
-
Java
int[] c = new int[]{1,2,3,4,5};
-
Kotlin
val k0 = intArrayOf(1,2,3,4,5) // 变长参数 val k1 = IntArray(5){ it + 1 }// kotlin中新建一个对象不需要new关键字,参数一:数 组长度;参数二:lamda表达式,it的值为数组下标。 println(k0.contentToString()) println(k1.contentToString())
三、数组的长度
-
Java
int[] array = new int[5]; System.out.println(array.length);
-
Kotlin
val array = IntArray(5) println(array.size)
四、数组的读写
-
Java
String[] str = new String[]{"Hello","World"}; str[1] = "Java"; System.out.println(str[0] + ", " + str[1]);
-
Kotlin
val str = arrayOf("Hello","World") str[1] = "Kotlin" println("${str[0]}, ${str[1]}")// 使用字符串模板打印
五、数组的遍历
- Java
float[] floats = new float[]{1,3,5,7}; for(float element : floats){ System.out.println(element); } for(int i=0;i<floats.length;i++){ System.out.println(floats[i]); }
- Kotlin
val floatArray = floatArrayOf(1f,3f,5f,7f) for(element in floatArray){ println(element) } // 或者使用以下方式遍历 floatArray.foreach{ element -> println(element) } // 或者下面的方式(对标java中的 for(int i=0;i<floats.length;i++)遍历方式) for(i in floats.indices){ println(floats[i]) }
六、判断数组中是否包含某个元素(数组的包含关系)
- Java
int[] intArray = new int[]{1,2,3,4,5}; for(int i : intArray){ if(i == 4){ System.out.println("4 exists in variable 'intArray'"); } }
- Kotlin
val intArray = IntArray(5){ it +1 } if(4 in intArray){ println("4 exists in variable 'intArray'") }