我希望从 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
)
答案 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}
names
是name
msettings
的所有值的列表内容
希望这会有所帮助
答案 2 :(得分:0)
为我工作的地图
val名称= list.map {it.name}