Kotlin 基础教程之数组容器
Arrays
Kotlin 标准库提供了arrayOf()创建数组, **ArrayOf创建特定类型数组
1
2
3
4
5
6
7
|
val array = arrayOf( 1 , 2 , 3 ) val countries = arrayOf( "UK" , "Germany" , "Italy" ) val numbers = intArrayOf( 10 , 20 , 30 ) val array1 = Array( 10 , { k -> k * k }) val longArray = emptyArray<Long>() val studentArray = Array<Student>( 2 ) studentArray[ 0 ] = Student( "james" ) |
和Java不一样,Kotlin 的数组是容器类, 提供了 ByteArray, CharArray, ShortArray, IntArray, LongArray, BooleanArray, FloatArray, and DoubleArray。
Lists
List是有序容器,Kotlin 标准库通过listOf()创建list
1
2
3
4
5
|
val intList: List<Int> = listOf( 20 , 5 , 10 ) val emptyList: List<String> = emptyList<String>() val nonNulls: List<String> = listOfNotNull<String>( null , "a" , "b" , "c" ) val doubleList: ArrayList<Double> = arrayListOf( 84.88 , 100.25 , 999.99 ) |
其中,intList, emptyList, nonNulls是只读的实例,要修改这些list,需要进行类型转换
1
2
|
(intList as AbstractList<Int>).set( 0 , 30 ) (nonNulls as java.util.ArrayList).addAll(arrayOf( "x" , "y" )) |
Maps
Map是<key, value>容器, Kotlin提供mapOf创建map
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
val map = mapOf( "a" to 1 , "b" to 2 , "c" to 3 ) val value = map.get(b) val states: MutableMap<String, String>= mutableMapOf( "AL" to "Alabama" , "AK" to "Alaska" , "AZ" to "Arizona" ) val customers: java.util.HashMap<Int, Customer> = hashMapOf( 1 to Customer( "Dina" , "Kreps" , 1 ), 2 to Customer( "Andy" , "Smith" , 2 )) val linkedHashMap: java.util.LinkedHashMap<String, String> = linkedMapOf( "red" to "#FF0000" , "azure" to "#F0FFFF" , "white" to "#FFFFFF" ) val sortedMap: java.util.SortedMap<Int, String> = sortedMapOf( 4 to "d" , 1 to "a" , 3 to "c" , 2 to "b" ) |
Sets
Set是没有重复项的容器, Kotlin提供setOf创建Set
1
2
3
4
5
|
val intSet: Set<Int> = setOf( 1 , 21 , 21 , 2 , 6 , 3 , 2 ) //1,21,2,6,3 val hashSet: java.util.HashSet<Book> = hashSetOf( Book( "Jules Verne" , "Around the World in 80 Days Paperback" , 2014 , "978-1503215153" ), Book( "Jules Verne" , "Around the World in 80 Days Paperback" , 2014 , "978-1503215153" )) val sortedIntegers: java.util.TreeSet<Int> = sortedSetOf( 11 , 0 , 9 , 11 , 9 , 8 ) |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.jianshu.com/p/a952c11975db