请教问下kotlin中怎么在集合中添加数组元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教问下kotlin中怎么在集合中添加数组元素相关的知识,希望对你有一定的参考价值。
参考技术A // 定义Int类型数组var itemArr = intArrayOf(21, 40, 11, 33, 78)
fun test()
println("初始:$itemArr.asList().toString()")
println("被 3 整除:$b3zc()")
addItem(2021)
println("添加-2021:$itemArr.asList().toString()")
deleteItem(2)
println("删除第三个的元素:$itemArr.asList().toString()")
deleteItemNum(78)
println("删除数字78:$itemArr.asList().toString()")
/**
* 增加item
* @item:需添加数值
* */
fun addItem(item: Int)
var newArr = IntArray(itemArr.size + 1)
for (i in itemArr.indices)
newArr[i] = itemArr[i]
newArr[itemArr.size] = item
itemArr = newArr
/**
* 删除item
* @index:删除位置下标
* */
fun deleteItem(index: Int)
var newArr = IntArray(itemArr.size - 1)
for (i in newArr.indices)
if (i < index)
newArr[i] = itemArr[i]
else
newArr[i] = itemArr[i + 1]
itemArr = newArr
/**
* 删除对应的元素
* @num:删除数字
* */
fun deleteItemNum(num: Int)
for (i in itemArr.indices)
if (num == itemArr[i])
deleteItem(i)
break
/**
* 被 3 整除的所有元素
* */
fun b3zc(): String
var string: String = ""
for (i in itemArr.indices)
if (itemArr[i] % 3 == 0)
string += itemArr[i].toString().plus("、")
return string.substring(0, string.lastIndex - 1)
参考技术B java中将list中的一维数组中的元素取出需要2步。第一步:获取list的迭代器,将数组从迭代器中遍历取出:第二部:对取出的数组进行遍历,取出数组中存储的元素。
java的list集合中只能存储引用型变量,不能存储基本类型的变量。所以当list存储数组时,会将数组本身存入集合,而不是存储数组中的元素。
Kotlin—数据容器之集合
说明:各种集合对于解决问题都具有重要意义,并且经常用到。与数组不同的是可变集合的大小可以动态改变
List:是一个有序集合,可通过索引(下标)访问元素。元素可以在list中多次出现丶元素可重复
Set:是唯一元素集合。一组无重复的对象。一般来说set中元素的顺序并不重要丶无序集合
Map:(字典)是一组键值对。键是唯一的,每个键都刚好映射到一个值,值可以重复
集合创建的技巧
集合可分为可变集合,显而易见,是指集合创建完成之后,可以对集合进行增删查改操作
不可变集合,显而易见,是指集合创建完成之后,不能对集合进行增删查改操作,会抛异常
列表的创建方式——可变列表
val arrayString= mutableListOf<String>()
arrayString.add("1")
arrayString.add("1")
arrayString.add(2,"2")
val arrayString2= mutableListOf<String>("1","1","2")
列表的创建方式——不可变列表
//列表的创建方式——不可变列表
//创建后不可添加丶删除元素
val arrayInt= listOf<Int>(1,2,3)
Map字典的创建——可变字典
//字典是一组键值对。健是唯一的,每个键刚好映射到一个值,值可以重复
val arraymap1= arrayMapOf(Pair("1","2"))
val arraymap2= mutableMapOf<String,String>()
arraymap2["1"] = "1"
arraymap2["2"] = "2"
arraymap2["3"] = "3"
arraymap2["3"] = "4"//此时会覆盖掉上面的记录
//使用Pair指定集合初始化的yuan's
val arraymap3= mutableMapOf<String,String>(Pair("1","2"))
Map字典的创建——不可变字典
//map字典的创建——不可变字典
//创建后不可添加丶删除元素
val arraymap4= mapOf<String,String>(Pair("1","2"))
set集合的创建方式——可变集合,元素唯一
val set= mutableSetOf<Int>()
set.add(1)
set.add(2)
set.add(3)
set.add(3)//添加不进去的
for (item in set)
println(item)
val set2= mutableSetOf<Int>(1,2,3)
set集合的创建方式——不可变集合,元素唯一
set集合的创建方式——不可变集合,元素唯一
val set3= setOf<Int>(1,2,3)
对集合的常用操作
val array= mutableListOf<String>("1","2","3","4","5","2","2")
//判断是否为空
println("isEmpty:$array.isEmpty()")
//判断是否包含该元素
println("contains:$array.contains("6")")
//获取下标位置
println("get:$array[0]")
//判断元素在集合中的下标:1
println("indexof:$array.indexOf("2")")
//判断元素在集合中的下标:5 该元素的最后索引
println("lastindexof:$array.lastIndexOf("2")")
结束
以上是关于请教问下kotlin中怎么在集合中添加数组元素的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )
Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )