小编jbd*_*can的帖子

在Java中创建Set的子集

我有一个 LinkedHashSet,即一个有序集.我正在尝试找到一个函数来返回集合的子集,即集合的前20个元素.我知道我可以通过创建一个新的集合,然后使用第一集的迭代填充,但我希望更简洁的东西.

还看了一下Google的Guava库,但看不到我想要的东西.

java set subset linkedhashset

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

如何使用 Gradle 2.10 将 ANTLR 词法分析器语法导入另一个语法?

我一直在通过 Terence Parr 的The Definitive ANTLR 4 Reference学习 ANTLR 4,到目前为止我一直在使用 Gradle 2.10 及其内置的 ANTLR 插件。但是,我在获取一些从第 4 章第 38-41 页改编的代码以与我的 Gradle 构建脚本一起正常工作时遇到了一些麻烦。(我使用 Gradle 而不是直接使用 ANTLR 的原因是因为我想最终将 ANTLR 集成到我正在为我的论文制作的 Java Web 应用程序中,我非常喜欢为此使用构建工具我可以自动化 ANTLR 到 Java 的代码生成过程并轻松管理我的依赖项。)

我创建了两个 ANTLR 4 语法(我已将其粘贴到本问题的末尾):src/main/antlr/org/jbduncan/Expr.g4(标准语法)和src/main/antlr/org/jbduncan /CommonLexerRules.g4(词法分析语法),其中Expr.g4取决于CommonLexerRules.g4通过import CommonLexerRules声明。但是,当我尝试gradlew generateGrammarSource使用我的build.gradle在命令行运行时(也与我的gradle.properties 一起粘贴到这个问题的末尾),我收到以下错误:

12:45:21: Executing external task 'generateGrammarSource'...
:generateGrammarSource
error(110): org\jbduncan\Expr.g4:3:7: can't find or load grammar CommonLexerRules
warning(125): org\jbduncan\Expr.g4:12:11: implicit definition …
Run Code Online (Sandbox Code Playgroud)

java antlr gradle antlr4

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

番石榴ValueGraph的简单示例

我正在寻找番石榴ValueGraph的简单示例。就像是:

class GraphNode {
  String name;
  String value;
  // Do I need to override equals & hashcode methods here??

}

class GraphUser {
  public ValueGraph<GraphNode,Double> createGraph(){
    ValueGraph<GraphNode,Double> graph = ValueGraphBuilder.directed.build();
    // How do I add the nodes to graph??
    // How do I add the edges to graph?
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 如何创建以自定义对象为节点的图形?
  2. 如何在图形中添加节点和边?
  3. 我是否必须在自定义节点类中重写equals和hashCode方法?

一个简单的例子将非常有帮助。

graph guava

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

标签 统计

java ×2

antlr ×1

antlr4 ×1

gradle ×1

graph ×1

guava ×1

linkedhashset ×1

set ×1

subset ×1