Android 从kotlin中的映射获取值
我有一门课:Android 从kotlin中的映射获取值,android,kotlin,Android,Kotlin,我有一门课: Category(val name : String? = null, val products: Map<Product,Boolean> = mutableMapOf()) Category(val名称:String?=null,val产品:Map=mutableMapOf()) 该类用于地图中的活动: private var categoriesAndProducts = mutableMapOf<Category, Boolean>() pri
Category(val name : String? = null, val products: Map<Product,Boolean> = mutableMapOf())
Category(val名称:String?=null,val产品:Map=mutableMapOf())
该类用于地图中的活动:
private var categoriesAndProducts = mutableMapOf<Category, Boolean>()
private var categoriesAndProducts=mutableMapOf()
我的问题是,当我有一个类别的名称时,我需要进入类别类内部,然后从外部获得类别的布尔值。问题是当我在里面的时候,我不知道如何得到这个布尔值。例如,如何返回此层次结构中的更高级别并获取该值。如果我理解您的意思是正确的,您希望在
类别和产品中查找基于类别的类别。名称
。有了这个类别
(这是关键),您就需要从类别和产品
中获取它的布尔值
您可以通过首先筛选与类别名称匹配的关键字来完成此操作:
val键:类别?=类别和产品。键。第一个或全部{
it.name==“someName”
}
categoriesAndProducts[key]//当key为null时返回null
您可以编写一个扩展函数,帮助您根据名称访问类别键:
funmap.findByName(名称:String):布尔?{
val key:Category?=keys.firstOrNull{it.name==name}
返回get(键)
}
categoriesAndProducts.findByName(“someName”)//返回布尔值
在Category类中将该布尔值作为参数不是一个选项?实际上,我想从第一个映射中获取布尔值:mutableMapOf(),但我知道的唯一一件事是Category类中的name,正如您编写Category.name时所知。我稍微更新了我的答案。这将为您提供categoriesAndProducts
中给定名称(字符串)的值(布尔值)。谢谢!它正在工作:)