Kotlin 集合
与Java集合类似,Kotlin 也引入了集合的概念。一个集合通常包含许多相同类型的对象,集合中的这些对象称为元素或项。 Kotlin 标准库提供了一组丰富的集合管理工具。
集合类型
在 Kotlin 中,集合分为两种形式。
- 不可变集合
- 可变集合
1. 不可变集合
这意味着它仅支持只读功能并且不能修改其元素。不可变集合及其对应的方法有:
- 列表– listOf() 和 listOf
() - 集合——setOf()
- 地图– mapOf()
列表——它是一个有序集合,我们可以通过使用索引来访问元素或项目——定义每个元素位置的整数。元素可以在列表中重复任意次数。我们不能在不可变列表中执行添加或删除操作。 Kotlin 程序演示不可变列表:
Kotlin
// An example for immutable list
fun main(args: Array) {
val immutableList = listOf("Mahipal","Nikhil","Rahul")
// gives compile time error
// immutableList.add = "Praveen"
for(item in immutableList){
println(item)
}
}
Kotlin
fun main(args: Array) {
// initialize with duplicate values
// but output with no repetition
var immutableSet = setOf(6,9,9,0,0,"Mahipal","Nikhil")
// gives compile time error
// immutableSet.add(7)
for(item in immutableSet){
println(item)
}
}
Java
// An example for immutable map
fun main(args : Array) {
var immutableMap = mapOf(9 to "Mahipal",8 to "Nikhil",7 to "Rahul")
// gives compile time error
// immutableMap.put(9,"Praveen")
for(key in immutableMap.keys){
println(immutableMap[key])
}
}
Kotlin
fun main(args : Array) {
var mutableList = mutableListOf("Mahipal","Nikhil","Rahul")
// we can modify the element
mutableList[0] = "Praveen"
// add one more element in the list
mutableList.add("Abhi")
for(item in mutableList){
println(item)
}
}
Kotlin
fun main(args: Array) {
var mutableSet = mutableSetOf(6,10)
// adding elements in set
mutableSet.add(2)
mutableSet.add(5)
for(item in mutableSet){
println(item)
}
}
Kotlin
fun main(args : Array) {
var mutableMap = mutableMapOf(1 to "Mahipal",2 to "Nikhil",3 to "Rahul")
// we can modify the element
mutableMap.put(1,"Praveen")
// add one more element in the list
mutableMap.put(4,"Abhi")
for(item in mutableMap.values){
println(item)
}
}
输出:
Mahipal
Nikhil
Rahul
Set - 它是无序元素的集合,也不支持重复元素。它是独特元素的集合。通常,集合元素的顺序没有显着影响。我们不能执行添加或删除操作,因为它是一个不可变的 Set。演示不可变集的 Kotlin 程序:
科特林
fun main(args: Array) {
// initialize with duplicate values
// but output with no repetition
var immutableSet = setOf(6,9,9,0,0,"Mahipal","Nikhil")
// gives compile time error
// immutableSet.add(7)
for(item in immutableSet){
println(item)
}
}
输出:
6
9
0
Mahipal
Nikhil
Map – Map 键是唯一的,每个键只保存一个值,它是一组键值对。每个键都映射到一个值。值可以是重复的,但键应该是唯一的。地图用于存储两个对象之间的逻辑连接,例如,学生 ID 及其姓名。由于它是不可变的,它的大小是固定的,并且它的方法支持只读访问。 Kotlin 程序演示不可变映射:
Java
// An example for immutable map
fun main(args : Array) {
var immutableMap = mapOf(9 to "Mahipal",8 to "Nikhil",7 to "Rahul")
// gives compile time error
// immutableMap.put(9,"Praveen")
for(key in immutableMap.keys){
println(immutableMap[key])
}
}
输出:
Mahipal
Nikhil
Rahul
2. 可变集合
它支持读取和写入功能。可变集合及其对应的方法有:
- 列表– mutableListOf()、arrayListOf() 和 ArrayList
- 集合——mutableSetOf()、hashSetOf()
- 映射– mutableMapOf()、hashMapOf() 和 HashMap
列表——由于可变列表支持读写操作,列表中声明的元素可以被删除或添加。 Kotlin 程序演示可变列表:
科特林
fun main(args : Array) {
var mutableList = mutableListOf("Mahipal","Nikhil","Rahul")
// we can modify the element
mutableList[0] = "Praveen"
// add one more element in the list
mutableList.add("Abhi")
for(item in mutableList){
println(item)
}
}
输出:
Praveen
Nikhil
Rahul
Abhi
Set – 可变 Set 支持读取和写入功能。我们可以轻松地从集合中添加或删除元素,它将保留元素的顺序。 Kotlin 程序演示可变集:
科特林
fun main(args: Array) {
var mutableSet = mutableSetOf(6,10)
// adding elements in set
mutableSet.add(2)
mutableSet.add(5)
for(item in mutableSet){
println(item)
}
}
输出:
6
10
2
5
Map – 它是可变的,因此它支持 put、remove、clear 等功能。Kotlin 程序来演示可变映射。
科特林
fun main(args : Array) {
var mutableMap = mutableMapOf(1 to "Mahipal",2 to "Nikhil",3 to "Rahul")
// we can modify the element
mutableMap.put(1,"Praveen")
// add one more element in the list
mutableMap.put(4,"Abhi")
for(item in mutableMap.values){
println(item)
}
}
输出:
Praveen
Nikhil
Rahul
Abhi