【问题标题】:Reassign ArrayList in a better Way以更好的方式重新分配 ArrayList
【发布时间】:2015-01-01 05:13:39
【问题描述】:

下面的代码可以运行,但我觉得它看起来很奇怪,有没有更好的方法。

var res:scala.collection.mutable.LinkedHashMap[String,scala.collection.immutable.Map[String,String]]=??
var arList = new ArrayList[String]()
res.keySet.map(arList.add(_))
//here res key set changed so i want to reassign the list by new keySet
res=??                                                        //updated
arList.clear
res.keySet.map(arList.add(_))

arList 上调用.clear 看起来很奇怪

【问题讨论】:

  • 您能否详细说明您的实际需求?
  • 为什么不使用res.keySet?为什么需要List
  • @NaderHadjiGhanbari 因为res.keSetscala.collection.Set[String] 并且我需要java.util.ArrayList[String],我必须将它传递给需要Array List 的另一种方法
  • 只需使用toLoist 方法然后:res.keySet.toList
  • @NaderHadjiGhanbari 它将转换为 List 而不是 ArrayList

标签: scala collections scala-collections scalastyle


【解决方案1】:

您可以使用默认的 JavaConverters。

  import scala.collection.JavaConverters._
  val list = new java.util.ArrayList(res.keySet.asJavaCollection)

我没明白你为什么要说清楚,是不是要求你传递一次 ArrayList 并稍后更新它的内容?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多