请教问下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——数组

请教高手怎么删除string数组中的某个元素

kotlin数组和集合

无法将元素添加到 kotlin 中可变列表的数组数组

Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )

Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )