Arrays
Kotlin 標準庫提供了arrayOf()創(chuàng)建數(shù)組,所以一般后綴是arrayOf()的,都可以找到相應的數(shù)組類型,以下是常用的幾種,還有很多可以看看官方API
//普通數(shù)組
val array = arrayOf(1, 2, 3)
//字符串數(shù)組
val strings = arrayOf("cn", "fr", "it")
//int數(shù)組
val numbers = intArrayOf(10, 20, 30)
//運算數(shù)組
val operationArray = Array(10, { k -> k * k })
//空數(shù)組
val longArray = emptyArray<Long>()
//bean數(shù)組
val studentArray = Array<MyBean>(2)
studentArray[0] = MyBean("xiaoming")
List
List是有序容器,通過
listOf
創(chuàng)建,不過創(chuàng)建出來好像是只讀序列,讀寫數(shù)組需要用MutableList<T>顯式修飾
fun list() {
var list = listOf<String>()
var notNull = listOfNotNull("1", "2", "3")
var nonNulls: List<String> = listOfNotNull<String>(null, "a", "b", "c")
var intList: List<Int> = listOf(1, 2, 3)
var emptyList: List<String> = emptyList<String>()
var doubleList: ArrayList<Double> = arrayListOf(84.88, 100.25, 999.99)
(nonNulls as java.util.ArrayList).addAll(arrayOf("x", "y"))
/**
* 讀寫數(shù)組需要用MutableList<T>顯式修飾
*/
var stringList:MutableList<String> = ArrayList()
stringList.add("zhangsan")
stringList.add("lisi")
var beanList: MutableList<MyBean> = ArrayList()
var myBean = MyBean()
myBean.name = "zhangsan"
myBean.age = 27
beanList.add(myBean)
}
Map
幾種常用的map
fun map() {
var map = mapOf("a" to 1, "b" to 2, "c" to 3)
var value = map["b"]
var states: MutableMap<String, String> =
mutableMapOf(
"AL" to "Alabama",
"AK" to "Alaska",
"AZ" to "Arizona")
val myBean: java.util.HashMap<Int, MyBean> = hashMapOf(
1 to MyBean("ZhangSan", 12, false),
2 to MyBean("LiSi", 13, true))
val linkedHashMap: java.util.LinkedHashMap<String, String> =
linkedMapOf("red" to "#FF0000", "black" to "#000000", "white" to "#FFFFFF")
val sortedMap: java.util.SortedMap<Int, String> = sortedMapOf(4 to "d",
1 to "a", 3 to "c", 2 to "b")
}
Set
Set是沒有重復項的容器,可以用來去重
fun set(){
//int
val intSet: Set<Int> = setOf(1, 21, 21, 2, 6, 3, 2) //1,21,2,6,3
//hash
val hashSet: java.util.HashSet<MyBean> = hashSetOf(
MyBean("Zhang San",14, false),
MyBean("Zhang San",14, false))
//sort
val sortedIntegers: java.util.TreeSet<Int> = sortedSetOf(11, 0, 9, 11, 9, 8)
}