当前位置: 首页 > 面试题库 >

如何在Java代码中使用scala.collection.immutable.List

赖运珧
2023-03-14
问题内容

我需要编写一个代码来比较Java ArrayList和Scala的性能List。我很难List在我的Java代码中使用Scala
。有人可以发布一个真正简单的“ hello world”示例,该示例如何使用ListJava代码(在.java文件中)创建Scala
并在其中添加100个随机数吗?

PS:我非常擅长Java,但从未使用过Scala。


问题答案:

与其他方式相比,在Scala中使用Java集合要容易得多,但是由于您提出了以下要求:

import scala.collection.immutable.*;

public class foo {
  public List test() {
    List nil = Nil$.MODULE$; // the empty list
    $colon$colon one = $colon$colon$.MODULE$.apply((Integer) 1, nil); // 1::nil
    $colon$colon two = $colon$colon$.MODULE$.apply((Integer) 2, one); // 2::1::nil
    System.out.println(one);
    System.out.println(two);
    return two;
  }
}

这将使用在类路径中带有scala-library.jar的javac进行编译:

javac -classpath /opt/local/share/scala-2.9/lib/scala-library.jar foo.java

您可以从Scala REPL调用:

scala> (new foo).test
List(1)
List(2, 1)
res0: List[Any] = List(2, 1)

要使用Scala中的Java集合,您无需执行任何特殊操作:

scala> new java.util.ArrayList[Int]
res1: java.util.ArrayList[Int] = []

scala> res1.add(1)
res2: Boolean = true

scala> res1
res3: java.util.ArrayList[Int] = [1]


 类似资料:
  • 问题内容: 在Java代码的标签中使用break语句时出现错误。这正在显示。编写这样的代码是错误的。请协助我正确使用它。提前致谢。 问题答案: 带标签的A 与声明不同。Java没有声明。 标签标记了其后的语句。您可以使用它来突破该语句,并且只能脱离该语句。流的控制权将始终转移到标记语句的末尾。 那你这里有什么? 由于if后的分号,实际上这是整个标记的语句。因此,您根本不在其范围内。如果您没有该分号

  • 问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代

  • 问题内容: 我有一个.dll文件,必须在Java中使用。该.dll文件具有参数化方法,该方法应将类型返回为字符串。当我将参数传递给它时,我得到的消息是 这是代码… 问题答案: 只需在项目中添加引用即可。和名称空间在顶部..然后您可以访问所有dll方法。如果您使用的是Eclispe,请右键单击您的项目->然后单击“构建路径”->,然后单击“添加库”,然后单击用户库。 在这里您可以导入dll

  • 我想使用ArchUnit来强制使用SLF4J日志框架,避免使用简单的系统。out调用。此外,我希望避免使用任何其他日志框架。我该如何实施此类检查? 目前我写了这个测试 但它实际上并没有强制SLF4J的使用,只是限制的使用,并防止依赖于类(实际上常量所在的位置)。 是否是我的案例更优雅的解决方案?

  • 关于使用强化代码注释的名称和语法,我有一个问题。 简短、简短、非常简短的版本是:我正在寻找一个指南/手册,它将列出可用的代码内注释,并为它们的预期用途提供一个示例。专门用于从Fortify扫描结果中省略一组“SQL注入”和“SQL注入:持久性”问题。 TL;博士;细节: 强化版:19.1.0 平台:Java 8;Web App(Weblogic 12.2.1.4.0(12c));Redhat Un

  • 我尝试使用REST-assured来执行一些需要SSL身份验证的API调用。我收到: . p12文件 密码 .cert.pem文件 .key.pem文件 当我把这一切放在例如。邮递员,它只是工作。现在我想在我的Java代码中使用这个...这就是我被困的地方。我看到人们使用单独的工具来导入密钥等,但我想在代码中做任何事情:) 我发现有人在使用: 其中KEY_STORE_*是P12文件密码(?),信任