小编elm*_*elm的帖子

Scala中的递归集合,例如List

目的是使用Scala集合,其中不需要迭代或递归计算大小.

例如,List证明是递归构造(例如考虑/sf/answers/573847851/),并且为了获得大小,有必要迭代它; 即O(N)对列表中元素数量的操作.

那么要问这个操作是哪个集合O(1)?非常感谢.

collections scala recursive-datastructures

0
推荐指数
1
解决办法
269
查看次数

在没有地图键的情况下将地图转换为Scala中的列表?

如何将地图转换为列表而不在scala中的列表中包含映射键?

val mp = collection.mutable.Map[Long, String]()
mp(0) = "val0"
mp(1) = "val1"
mp(2) = "val2"
mp.toList //I want: List("val0", "val1", "val2")
Run Code Online (Sandbox Code Playgroud)

scala list mutable map scala-collections

0
推荐指数
1
解决办法
199
查看次数

如何检索(“ 1”,“ 2”,“ 3”)Scala对象的元素?

我陷入了Scala中一个令人尴尬的简单问题(这是我的新手)。

如何"2"从这样的结构中检索第二个(比如说)元素()Scala

scala> val a = ("1", "2", "3")
a: (String, String, String) = (1,2,3)
Run Code Online (Sandbox Code Playgroud)

scala tuples

0
推荐指数
1
解决办法
145
查看次数

Python lambda函数声明和调用列表生成

在生成如下列表时,lambda函数在方括号外声明,然后应用于每个i,

>>> g = lambda x: x*10
>>> [g(i) for i in range(10,21)]
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
Run Code Online (Sandbox Code Playgroud)

是否有可能(以及如何)在列表中声明lambda函数并调用它?

python lambda list python-3.x

0
推荐指数
1
解决办法
112
查看次数

Scala大型列表中的模式匹配案例

对于在有限域内返回值的案例的长列表,如何减少案件声明的数量增加?比如考虑一下

"abc" match {
  case "a"   => 1
  case "ab"  => 1
  case "aw"  => 2
  case "hs"  => 2
  case "abc" => 1
  case _     => 0
}
Run Code Online (Sandbox Code Playgroud)

Map[Set[String],Int]过去哪里

val matches = Map( Set("a","ab","abc") -> 1, Set("aw","hs") -> 2 )
Run Code Online (Sandbox Code Playgroud)

并定义

def getMatch(key: String, m: Map[Set[String],Int]) = {
  val res = m.keys.collectFirst{ case s if s(key) => m(s) }
  res.getOrElse(0)
}
Run Code Online (Sandbox Code Playgroud)

是否有更简单和/或更有效的方法?

scala pattern-matching scala-collections

0
推荐指数
1
解决办法
133
查看次数

Scala - 展平包含Seq的Seq

鉴于:

Seq(1,2,3) map {
  case 1 => 11
  case 2 => Seq(12,13,14)
  case 3 => 15
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能优雅地将其展平为Seq[Int]含有Seq(11,12,13,14,15)

scala

0
推荐指数
1
解决办法
2539
查看次数

当我的其他人应该阻止它时,为什么我会得到IndexOutOfBoundsException?

我正在进行某种测验,并有一个问题和答案列表,通过控制器转移到我的视图类.人们可以在一个页面上提问和回答问题,然后我的系统会"收集"这些问题以便从中进行测验.

如果您是第一个启动程序/测验的人,则问题列表为空.因此,我想检查一个带有if/else子句的空测验,if-case似乎工作正常,但是else-case抛出一个IndexOutOfBoundsException而我不明白为什么.我认为当问题列表为空时不会使用else-part,因此不应该抛出异常.应该....

查看课程:

@(questionList: List[Question], answerList: List[Answer], answerRadioForm: Form[Answer])

@if(questionList.length == 0){
    No questions yet!
}

else {
<!-- As only the highest ranked question gets put into the List, there is only one entry on first place -->
<b>@questionList.get(0).questionText</b>

    @for(question <- questionList)  {
        @question.questionText - @question.ownerID <br>
    }
} 
Run Code Online (Sandbox Code Playgroud)

错误:

[IndexOutOfBoundsException: Index: 0, Size: 0]
49          <b>"""),_display_(/*27.8*/questionList/*27.20*/.get(0).questionText),format.raw/*27.40*/("""</b>
Run Code Online (Sandbox Code Playgroud)

那么,我在这里错过了什么?

scala exception playframework

0
推荐指数
1
解决办法
173
查看次数

在scala中展平任何列表

我有

val a = List(1, List(2,3), 4)
Run Code Online (Sandbox Code Playgroud)

我想将任何列表转换为List[Int].我怎样才能做到这一点?

预期的答案是:

List(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

scala

0
推荐指数
1
解决办法
401
查看次数

如何在scala中组合多个列表的元素

我是Scala的新手.我有三个List.

List("XX", None,None,None)

List( None,"YY",None,None)

List(None,None,None, "ZZ")
Run Code Online (Sandbox Code Playgroud)

我需要合并这些列表来创建一个应该看起来像的列表

List("XX","YY",None,"ZZ")
Run Code Online (Sandbox Code Playgroud)

scala有什么方法可以实现这个结果吗?谢谢

scala scala-collections

0
推荐指数
1
解决办法
959
查看次数

如何从scala中的if-else块而不是anyVal返回Int?

我是斯卡拉的新手.我试图在scala中使用if-else块来尝试返回"Int".

我的代码看起来像这样:

val blockNumber = {
    if(x.getName equals ("NATIVE")) 0
    else {
       if(x.getName equals ("DATIVE")) 1
    }
}
Run Code Online (Sandbox Code Playgroud)

blockNumber在方法setBlockNumber()和问题发生时使用此值:

 new setBlockNumber(Option(blockNumber))
Run Code Online (Sandbox Code Playgroud)

但每次我尝试这样做时,该方法都会出错:

type mismatch; found : AnyVal required: Int
Run Code Online (Sandbox Code Playgroud)

有人可以指出我的错误,我该如何重新调整?谢谢你的提前时间.

if-statement scala return-value

0
推荐指数
1
解决办法
388
查看次数

从未来[Seq [T]]到未来[T]的Scala提取值

对于Seq 包含在a中的给定Future,例如

import scala.concurrent._
import ExecutionContext.Implicits.global

val xs = Future { Seq(1,2,3) }
Run Code Online (Sandbox Code Playgroud)

如何将集合中的第一个(仅一个)值提取到另一个中Future,即

Future { 1 }
Run Code Online (Sandbox Code Playgroud)

scala future

0
推荐指数
1
解决办法
181
查看次数

def和var/val对于匿名函数有什么区别

我对匿名函数定义感到困惑如下:

var plusOne = (x:Int)=>x+1
// or val plusOne=(x:Int)=>x+1
println(plusOne(2))
Run Code Online (Sandbox Code Playgroud)

要么

def plusOne = (x:Int)=>x+1
println(plusOne(2))
Run Code Online (Sandbox Code Playgroud)

var/ valdef函数名称有什么区别.

scala

-1
推荐指数
1
解决办法
530
查看次数