我有一个 LinkedHashSet,即一个有序集.我正在尝试找到一个函数来返回集合的子集,即集合的前20个元素.我知道我可以通过创建一个新的集合,然后使用第一集的迭代填充,但我希望更简洁的东西.
还看了一下Google的Guava库,但看不到我想要的东西.
我一直在通过 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) 我正在寻找番石榴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)
一个简单的例子将非常有帮助。