Как я могу заполнить массив CharSequence из свойства объекта List в Kotlin? - PullRequest
0 голосов
/ 31 мая 2018

Я надеюсь получить имя и _id из MSetting из myList и заполнить обе записи и entryValues ​​ с ними, как мне это сделать в Kotlin?

В настоящее время я должен использовать код А, чтобы сделать это, но это слишком сложно!

Код A

for(aMetting in myList){
   entries.add(aMetting.name)
   entriesValue.add(aMetting._id)
}

Источник

var entries = arrayOf<CharSequence>()
var entryValues = arrayOf<CharSequence>()


var myList: List<MSetting>

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

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Я не знаю, действительно ли вам нужно поместить _id и name в два разных массива.однако для этого вы можете использовать оператор forEach:

myList.forEach { it -> entries.add(it.name); entriesValue.add(it._id) }

, но если вы не хотите потерять отношения _id и name.Вы можете использовать структуру Pair.

val entries = mutableListOf<Pair<CharSequence, CharSequence>>()
myList.forEach { it -> entries.add(Pair(it._id, it.name)) }

, используя Map - еще один вариант, но рекомендуется, если у вас есть ключи и вы хотите найти значения.для перебора всех записей нет значимых различий.

0 голосов
/ 31 мая 2018
import java.util.*

var myList = ArrayList<MSetting>()

var entryMap = HashMap<Long, String>()

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

fun main(args: Array<String>) {
    myList.forEach { entryMap.put(it._id, it.name) }
}
0 голосов
/ 31 мая 2018

Я думаю, что вместо использования отдельных массивов вы можете поместить его на карту

val settingMap = hashMapOf ( name to id ) или val map = mutableMapOf<Integer, String>()

for((key, value) in settingMap){
    println(value)
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...