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

Kotlin:如何将对象列表转换为基于对象值的集合[duplicate]

谷梁弘深
2023-03-14

请建议更好的方法将路线转换为路线地图。

lateinit var routes: List<Pair<String, String>>
val routesMap = HashMap<String, ArrayList<String>>
routes.forEach { 
    routesMap.getOrPut(it.first) { ArrayList<String>() }.add(it.second)
}

共有1个答案

艾照
2023-03-14

这个操作通常被称为“分组方式”,在Kotlin中使用groupBy()扩展可以很容易地完成:

val routesMap = routes.groupBy({ it.first }, { it.second })
 类似资料:
  • 问题内容: 我有一个收集类型: 我的对象中有一个列表: B在哪里延伸A 但我不能执行以下操作: 我不明白为什么,因为Collection是由List实现的。 问题答案: 让我们假设您可以做您描述的事情: 该方法调用看起来不错,因为它是一个包含s 的集合。但是,如果允许上述分配,那么我们会遇到一个问题,因为它实际上是对实例的引用-我只是将a 添加到只能容纳s 的列表中! 阿斯克还说: 我不明白为什么

  • 我有来自一个API的数据,看起来如下所示 使用reverfit,我尝试使用下面的代码将它转换为一个对象。为了测试,它目前被提供了一个静态变量,如邮政编码,这是已知的工作。 服务类。 地址类 位置类 地址接口 在使用调试器时,我看到调用跳过onFailure和onResponse函数,只返回仍然为空的addresses。我甚至在这两个函数中都放入了print语句,但终端中都没有显示这两个函数,以确认

  • 问题内容: 我有SourceObjects列表,我需要将其转换为ResultObjects列表。 我可以使用ResultObject的方法将一个对象获取到另一个对象: 我当然可以这样: 但对于能够展示如何使用 rxJava 进行相同操作的人,我将非常感激。 问题答案: 如果发出,则可以使用以下运算符: (将您的列表转换为可观察项) (将您的商品转换为其他商品) 运算符(将完成的Observable

  • 问题内容: 如何将String对象转换为Date对象? 我想我需要做这样的事情: 任何帮助将不胜感激。 问题答案: SimpleDateFormat dateFormat = new SimpleDateFormat(“dd.MM.yyyy”); Date date = dateFormat.parse(“1.1.2001”); 有关详细信息,请参阅: SimpleDateFormat文档

  • 问题内容: 如何将Python对象转换为对象? 我有一个提供第一个库的库,另一个提供了第二个库的库。 问题答案: 使用time.mktime()将时间元组(以当地时间为单位)转换为自大纪元以来的秒数,然后使用datetime.fromtimestamp()获得datetime对象。

  • 问题内容: 如果我运行,Laravel会执行以下烦人的事情,即向集合中的每个模型添加键,如下所示: 我如何摆脱“ 4”和“ 7”,所以它是我的对象的数组? 我运行的代码是: 问题答案: 问题在于该方法不会为基础集合数组重新设置密钥。因此,Collection仍表示一个数组,只是您的数组看起来像这样: 尽管这在PHP中是一个非常有效的数组,但在JSON中却不是一个合适的数组。由于无法将其表示为JSO