Kotlin 基础教程之数组容器

 更新时间:2017年06月30日 10:53:44   作者:jinkui  
这篇文章主要介绍了Kotlin 基础教程之数组容器的相关资料,需要的朋友可以参考下

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)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • mybatisplus逻辑删除基本实现和坑点解决

    mybatisplus逻辑删除基本实现和坑点解决

    这篇文章主要介绍了mybatisplus逻辑删除基本实现和坑点解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • struts2获取服务器临时目录的方法

    struts2获取服务器临时目录的方法

    这篇文章主要为大家详细介绍了struts2获取服务器临时目录的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Java的Spring框架中实现发送邮件功能的核心代码示例

    Java的Spring框架中实现发送邮件功能的核心代码示例

    这篇文章主要介绍了Java的Spring框架中实现发送邮件功能的核心代码示例,包括发送带附件的邮件功能的实现,需要的朋友可以参考下
    2016-03-03
  • java项目如何引入其他jar包

    java项目如何引入其他jar包

    通常在lib文件夹中存放从外部引入的jar包,所以把JAR文件复制进去。 然后修改编译脚本,不需要去编译tool文件夹里面的java类,直接把jar包添加到classpath,下文将详细介绍
    2021-10-10
  • 线程池中execute与submit的区别说明

    线程池中execute与submit的区别说明

    这篇文章主要介绍了线程池execute与submit的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • SpringBoot使用Spring Cache高效处理缓存数据

    SpringBoot使用Spring Cache高效处理缓存数据

    Spring Cache是一个框架,只要简单加一个注解,就能实现缓存功能,本文主要介绍了SpringBoot使用Spring Cache高效处理缓存数据,感兴趣的可以了解一下
    2023-11-11
  • java编写的文件管理器代码分享

    java编写的文件管理器代码分享

    本文给大家分享的是一则使用java编写的文件管理器的代码,新人练手的作品,逻辑上还是有点小问题,大家帮忙看看吧。
    2015-04-04
  • Java并行执行任务的几种方案小结

    Java并行执行任务的几种方案小结

    这篇文章主要介绍了Java并行执行任务的几种方案小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java实战之电影在线观看系统的实现

    Java实战之电影在线观看系统的实现

    这篇文章主要介绍了如何利用Java实现电影在线观看系统,文中用到的技术有:JSP、Spring、SpringMVC、MyBatis等,感兴趣的可以了解一下
    2022-04-04
  • 使用Java实现三种等级的扫雷游戏(完整版)

    使用Java实现三种等级的扫雷游戏(完整版)

    扫雷是一款大众类的益智小游戏,根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输,下面这篇文章主要给大家介绍了关于使用Java实现三种等级的扫雷游戏的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论