gpt4 book ai didi

java - 如何将 Scala 集合 Seq[(Int, Seq[String])] 转换为 Java 集合 List[(int, List[String])]?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:37 32 4
gpt4 key购买 nike

我知道scala.collection包中有两个非常有用的对象,可以帮助我们实现这个目标:

  • JavaConverters(如果我想明确说明并准确说明我要转换的内容)
  • JavaConversions(如果我不想共同控制转换,让编译器为我隐式工作)

但是我在将它们应用于我的案例时遇到了一些麻烦,因为我的数据结构比我在许多示例中看​​到的其他数据结构要复杂一些。

我在使用 scala 代码,我希望我的 scala 函数返回一个 Java 集合。所以我想将 Scala Seq[(Int, Seq[String])] 转换为 Java 集合 List[(int, List[String])]。

我该怎么做?

最佳答案

首先使用map将Seq[(Int, Seq[String])]映射到Seq[(Int, List[String])],然后再使用与主集合相同的功能

import scala.collection.JavaConversions
val seq : Seq[(Int, Seq[String])] = some code
val seqOfLists = seq.map(s => (s._1, JavaConversions.seqAsJavaList(s._2)))
val listOfLists = JavaConversions.seqAsJavaList(seqOfLists)

或更新的 API:

import scala.collection.JavaConverters._
val seq : Seq[(Int, Seq[String])] = some code
val seqOfLists = seq.map(s => (s._1, s._2.asJava))
val listOfLists = seqOfLists.asJava

关于java - 如何将 Scala 集合 Seq[(Int, Seq[String])] 转换为 Java 集合 List[(int, List[String])]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48346623/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com