小编sna*_*ppy的帖子

使用Scala中的索引进行高效迭代

由于Scala没有for带索引的旧Java样式循环,

// does not work
val xs = Array("first", "second", "third")
for (i=0; i<xs.length; i++) {
  println("String #" + i + " is " + xs(i))
}
Run Code Online (Sandbox Code Playgroud)

我们如何有效地迭代,而不使用var

你可以做到这一点

val xs = Array("first", "second", "third")
val indexed = xs zipWithIndex
for (x <- indexed) println("String #" + x._2 + " is " + x._1)
Run Code Online (Sandbox Code Playgroud)

但列表遍历了两次 - 效率不高.

iteration scala

77
推荐指数
7
解决办法
9万
查看次数

hadoop fs -put和hadoop fs -copyFromLocal之间的区别

-put-copyFromLocal记录为相同,而大多数示例使用详细变量-copyFromLocal.为什么?

同样的事情-get-copyToLocal

hadoop hdfs

51
推荐指数
3
解决办法
5万
查看次数

从Scala中的目录中读取文件

如何在Scala中的目录中获取文件列表(或所有*.txt文件).Source类似乎没有帮助.

scala

29
推荐指数
3
解决办法
2万
查看次数

在Eclipse中,我可以删除红色错误标记吗?

我需要查看我不打算运行的项目(C++)中的源文件.在Eclipse中加载,由于缺少库,它有很多错误.有没有办法告诉Eclipse忽略(或至少不用红色下划线)那些编译错误?

我想使用eclipse来查看语法高亮,括号匹配等的代码.

eclipse

24
推荐指数
2
解决办法
4万
查看次数

用于循环的早期退出的功能代码

如何在功能样式中重构此代码(scala惯用)

def findFirst[T](objects: List[T]):T = {
  for (obj <- objects) {
    if (expensiveFunc(obj) != null) return obj
  }
  null.asInstanceOf[T]
}
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

16
推荐指数
2
解决办法
1970
查看次数

为Eclipse中的Java和Scala选项卡设置不同的空格

在Java中,通常的惯例是选项卡大小为4.在Scala中它是2.在Scala + Java项目中,是否可以根据语言文件设置这些不同的选项卡大小?

java eclipse scala

11
推荐指数
1
解决办法
2567
查看次数

空字符串和单个分隔符字符串上的字符串拆分行为

这是这个问题的后续行动.

问题在于下面的第二行.

"".split("x");   //returns {""}   // ok
"x".split("x");  //returns {}   but shouldn't it return {""} because it's the string before "x" ?
"xa".split("x"); //returns {"", "a"}    // see?, here "" is the first string returned
"ax".split("x"); //returns {"a"}
Run Code Online (Sandbox Code Playgroud)

java scala

8
推荐指数
2
解决办法
1552
查看次数

Java中是否存在与Scala中的并行集合相近的内容?

使用Java实现并行计算(例如在多核处理器上)的最简单方法是什么.IE等价于这个Scala代码的java

val list = aLargeList
list.par.map(_*2)
Run Code Online (Sandbox Code Playgroud)

这个图书馆,但似乎势不可挡.

java parallel-processing scala

5
推荐指数
1
解决办法
2259
查看次数

将标准库添加到C++ eclipse项目中

一个(非常)新手C++问题:有没有办法自动将标准库添加到C++ eclipse项目中?我安装了CDT主要功能插件.

c++ eclipse

5
推荐指数
1
解决办法
1万
查看次数

覆盖泛型方法的正确方法是什么?

public abstract class Abc<T> {
    public abstract void f1(T a);  
}

abstract class Def<T> extends Abc {

    @Override
    public void f1(T a) {
        System.out.print("f");
    }

}
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:"方法不会覆盖或实现超类型中的方法"

这有什么不对?

java generics

4
推荐指数
1
解决办法
73
查看次数

初始化要在不同范围内使用的val

如何初始化要在另一个范围中使用的val?在下面的示例中,我被强制myOptimizedList作为var,因为它在if (iteration == 5){}范围中初始化并在范围中使用if (iteration > 5){}.

val myList:A = List(...)
var myOptimizedList:A = null

for (iteration <- 1 to 100) {
    if (iteration < 5) {
        process(myList)
    } else if (iteration == 5)
        myOptimizedList = optimize(myList)
    } 
    if (iteration > 5) {
        process(myOptimizedList)
    }
}
Run Code Online (Sandbox Code Playgroud)

这可能是之前被问,但我想知道是否有一个使用Option [A]的优雅解决方案.

scala

2
推荐指数
1
解决办法
1050
查看次数

组合元组列表

我想按键组合这个列表的值

List((1, 11), (2, 21), (1, 13), (1, 14), (2, 25))
Run Code Online (Sandbox Code Playgroud)

并获得这样的列表:

List((1, List(11, 13, 14)), (2, List(21, 25)))
Run Code Online (Sandbox Code Playgroud)

我正在考虑为每个元素使用groupBy然后使用reduceLeft,但我认为可能有更简单,更直接的方法?

scala scala-collections

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