Kotlin中的数组容器有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Arrays
Kotlin 标准库提供了arrayOf()创建数组, **ArrayOf创建特定类型数组
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
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,需要进行类型转换
(intList as AbstractList<Int>).set(0, 30)
(nonNulls as java.util.ArrayList).addAll(arrayOf("x", "y"))
Maps
Map是<key, value>容器, Kotlin提供mapOf创建map
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
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)
看完上述内容,你们掌握Kotlin中的数组容器有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。