当前位置: 首页 > 知识库问答 >
问题:

用静态编程语言定义多嵌套/层次映射的更简单方法

郑西岭
2023-03-14

目前,如果我必须定义一个嵌套的/分层的Map类似于Map

PS:静态编程语言新手

JavaScript示例(假设示例)。

var schema = {
    "US": {
        "WA": {
            "Seattle": "Pike Street"
        }
    },
    "IN" : {
        "Karnataka": {
            "Bangalore" : "MG Road"
        }
    }
};

静态编程语言:

val WA_CITY_TO_ST_MAP = mapOf(
    "Seattle" to "",
    "Redmond" to "1st Ave"
)
val KARNATAKA_CITY_TO_ST_MAP = mapOf("Bangalore" to "MG Road")

val US_STATE_TO_CITIES_MAP = mapOf("WA" to WA_CITY_TO_ST_MAP)
val IN_STATES_TO_CITIES_MAP = mapOf("Karnataka" to KARNATAKA_CITY_TO_ST_MAP)

val schema = mapOf("US" to US_STATE_TO_CITIES_MAP, "IN" to IN_STATES_TO_CITIES_MAP)


共有1个答案

东郭鹤龄
2023-03-14

嵌套映射可以内联构建,无需将它们初始化为单独的vals:

val schema = mapOf(
            "US" to mapOf(
                    "WA" to mapOf(
                            "Seattle" to "",
                            "Redmond" to "1st Ave"
                    )
            ),
            "IN" to mapOf(
                    "Karnataka" to mapOf(
                            "Bangalore" to "MG Road"
                    )
            )
    )

如果您的结构并不总是具有相同的嵌套级别(很像JSON),那么您可能需要考虑使用适当的JSON库来处理数据。

 类似资料:
  • 为了描述Gradle构建脚本,我们可以通过< code>build.gradle.kts文件使用Kotlin。在< code>dependencies和build 部分全局定义要使用的Kotlin版本是一个常见的问题(在给定的情况下使用不同的版本是相当罕见的)。 请考虑以下代码 (Gradle 4.3.1): 如您所见,kotlin(在本例中为1.2.30)定义了两次:和,它们通常没有区别。由于D

  • > 如何将选择查询映射到类 是否有任何@transactional操作来执行查询?

  • 我想在spring boot中使用嵌套的ConfigurationProperties,它在java中工作,但在kotlin中不工作。我的应用程序属性中有以下行: 我创建了这个结构来处理这些属性: 我添加了 插件和依赖项到我的 当我运行这段代码时,我得到了一个异常:

  • 我有下面的代码块,希望使用Kotlin减少它。我该怎么做?

  • 为了处理运行Kotlin/SpringBoot应用程序时出现的以下错误(完整堆栈跟踪),我一直在咨询一些方法/帖子/堆栈溢出问题: 问题在于用Hibernate映射PostgreSQL的JSONB数据类型。 我广泛尝试和调试的两种方法如下: 实现自定义Hibernate映射并为JSONB创建自定义用户类型。参考文献:这里,这里,这里和这里 使用Hibernate类型。参考文献在这里,这里和这里 我

  • 我正在尝试用Java编写下面用Kotlin编写的代码。我无法创建DefaultElementsAdapter,因为我无法获得正确的语法。 我无法获得正确的Java代码 Kotlin班是这样的 我正在尝试使用图书馆https://github.com/m7mdra/HtmlRecycler