kotlin - 如何获取/放置 Kotlin 内部 map 或 map

标签 kotlin

有人知道我如何在Kotlin中“获取/放置”内部 map 吗?

var bookDetailsMap: MutableMap<Long, MutableMap<Long, Book>> = mutableMapOf()

我如何将下面的图书详细信息“放入”上方的 map 中
var books: MutableList<Book> = this.bookDao.findAll()

预计存储将像>
var bookDetailsMap: MutableMap<book.publisherId, MutableMap<book.bookId, Book>>

最佳答案

以这种方式成功实现:

放置示例:

var bookDetailsMap : Map<Long, Map<Long, BookDetail>> = hashMapOf()

this.bookDetailsMap = this.bookDao.findAll().groupBy { 
   it.publisherId
}.mapValues { 
   it.value.associateBy { it.bookId} 
}

获取示例:
var bookDetail : BookDetail = BookDetail ()

if (this.bookDetailsMap .containsKey(this.publisherId)) {
    bookDetail = this.bookDetailsMap [this.publisherId]!![this.bookId]!!
}

关于kotlin - 如何获取/放置 Kotlin 内部 map 或 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42570086/

相关文章:

android - Kotlin - 如何在 Telegram 应用程序中打开 Telegram 群组的链接

android - 从当前目的地无法找到导航操作/目的地

android - 如何使用 ViewModel(MVVM) 将对象从 fragment 传递到 Activity 详细信息 View ?

java - Spring Boot : Calling an OAuth2 protected REST service

Android Studio (Kotlin) 如何将 StringArray 转换为 MutableList

java - 无法从主要 Activity 转到另一个 Activity ,应用程序崩溃

java - RxJava 与 Single.zip 中嵌套的 Single.flatMap 相同吗?

kotlin - 使用其他地方的内部对象访问 Kotlin 外部类

android - ImageView in LinearLayout in Scrollview with CardStackView and Picasso 图片不显示

模块之间的 Android Kotlin Compose 编译器版本不匹配