Kotlin 基础教程之数组容器
作者:jinkui 发布时间:2021-09-09 17:22:40
标签: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)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://www.jianshu.com/p/a952c11975db
0
投稿
猜你喜欢
- 本文主要讨论C#开发使用百度语音合成API在线将文本内容合成语音,保存为 MP3 文件,本文最后会提供本安全源代码以及运行软件包,
- JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str
- Spring 基于注解启动主要有两个Class实现注解启动AnnotationConfigApplicationContextAnnotat
- 前言记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑结论:给心急的人。 直接在
- 一.一维数组的定义1.创建数组数组定义有三种方法:int[] array1 = new int[10];//前面的int[]为数组的类型,后
- 利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。布局文件main.xml&l
- 前言Spring Boot常用注解整理提示:以下是本篇文章正文内容,下面案例可供参考一、@SpringBootApplication此注解是
- 一、目的针对不同地区,设置不同的语言信息。SpringBoot国际化配置文件默认放在classpath:message.properties
- Java中对象创建,内存分配,垃圾回收的权力交给了虚拟机,这其中有利也有弊,程序员也减轻了负担,但是如果不熟悉Java的内存区域划分,一旦出
- 问题项目是springcloud项目,在maven install某一个项目时报错:程序包com.example.commons.appli
- Android Service 详细介绍:1、Service的概念 2、Service的生命周期 3、实例:控制音乐播放的Service一、
- 1.基本概念首先我们需要弄清楚几个概念:面向对象是什么、类是什么、对象又是什么?还是逐个来说1.1面向对象我们常说Java是面向对象的语言,
- 以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用1.忽略转义字符例如string fileNa
- where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量。1.接口约束。例如,可以声明一个泛型类 MyGeneric
- 迭代器Iterator接口1.迭代器接口Iterable内置方法iterator(), 返回一个新建的 Iterator。如:public
- 本文实例讲述了Android开发中使用Intent打开第三方应用及验证可用性的方法。分享给大家供大家参考,具体如下:Android中提供了I
- 在平时的开发过程中,会有很多场景需要实时监听文件的变化,如下:1、通过实时监控 mysql 的 binlog 日志实现数据同步2、修改配置文
- 环境配置Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclis
- Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序。官方文档描述:自动配置在 Spring 的默认值之上
- C#字符集编码的使用ASCII:西欧字符集GB2312:国家简体中文字符集,兼容ASCII。BIG5:统一繁体字编码GBK:它是GB2312