有没有一种简单的方法从Kotlin的对象列表中获取数组?

时间:2018-06-01 03:14:39

标签: android kotlin

我希望从 MSetting 列表中获取一个名称数组,目前,我使用代码A来完成它,但它太复杂了,是否有一个简单的这样做的方法?

代码A

  fun getName(aList:List<MSetting>): Array<CharSequence>{
        if (aList.isEmpty()){
            return emptyArray<CharSequence>()
        }else{
            var aa=Array<CharSequence>(aList.size,{""})
            for (index in aList.indices){
                aa[index]=aList[index].name
            }
            return aa
        }
    }

数据

data class MSetting (
        var _id: Long,  
        var name: String,
        var createdDate: Long,
        var description: String
)

3 个答案:

答案 0 :(得分:3)

此处的解决方案是使用map,然后使用toTypedArray

fun getName(aList: List<MSetting>): Array<CharSequence> {
    return aList.map { it.name }.toTypedArray()
}

答案 1 :(得分:1)

使用map运算符

var names = msettings.map { it -> it.name}

namesname

msettings的所有值的列表内容

希望这会有所帮助

答案 2 :(得分:0)

为我工作的地图

val名称= list.map {it.name}