Как проверить наличие объекта в подсписке в kotlin - PullRequest
0 голосов
/ 26 апреля 2020

Как проверить существование дочернего объекта внутри родительского объекта с помощью kotlin

Я пытаюсь выяснить, есть ли у родительского объекта (Module.kt) объект из его дочернего списка

Родительский класс: Module.kt

data class Module
(
        var id: String? = ObjectId().toHexString(),
        var name: String = "",
        var description: String = " ",
        var frames : MutableList<Frame> = mutableListOf<Frame>(),
        var functions : MutableList<Function> = mutableListOf<Function>(),
        var created_at: Date = Date(System.currentTimeMillis()),
        var updated_at: Date = Date(System.currentTimeMillis())
)

Дочерний класс: Frame.kt

data class Frame (

        var id: String? = ObjectId().toHexString(),
        var name:String  = "",
        var level:String = "",
        var moduleID:String = "",
        var subFrames : MutableList<Frame> = mutableListOf()

    )

Пример: проверка существование подменю в root меню

пример объяснения изображения

1 Ответ

0 голосов
/ 26 апреля 2020

Используйте взамен MutableMap

data class Module
    (
    var id: String? = ObjectId().toHexString(),
    var name: String = "",
    var description: String = " ",
    var frames :MutableMap<String,Frame> =  mutableMapOf(),
    var functions : MutableList<Function> = mutableListOf<Function>(),
    var created_at: Date = Date(System.currentTimeMillis()),
    var updated_at: Date = Date(System.currentTimeMillis())
)

data class Frame (
    var id: String? = ObjectId().toHexString(),
    var name:String  = "",
    var level:String = "",
    var moduleID:String = "",
    var subFrames : MutableMap<String,Frame>? = mutableMapOf()

)

var module = Module() 
module.frames["LAB"]?.subFrames?.get("CODE")?.subFrames?.get("HTML")?.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...