java - 在 Neo4j 的数据成员中保留元素的插入顺序

标签 java spring neo4j spring-data-neo4j

我有一个 Set<String> set我坚持在 Java 中使用 Neo4j Spring。为了能够从 set 中检索元素按照元素添加到其中的顺序。集合不保留顺序。我试过使用 Collection<String>/List<String>相反因为 Lists有顺序,但 Neo4j 不喜欢 Collection .还有什么可以用于有序存储?

编辑:按顺序,我指的是插入顺序。

最佳答案

Set 有一个特殊的实现,类 TreeSet 使集合中的元素按自然顺序或通过询问 Comparator 它们应该如何排序下令。每当您添加/删除元素时,TreeSets 都会对集合重新排序。

还有 LinkedHashSet 实现,它根据插入顺序保存项目。

Collection 是接口(interface) Set 和 List 都扩展的接口(interface)。 (以及其他接口(interface))

Collection 不保证订购。他们只关心添加和删除元素的可能性。 Set 不允许添加每个元素的多个副本。 Set 接口(interface)本身不保证顺序。 List 接口(interface)保证排序,但也允许同一元素的多个副本。

总结:对于您的情况,请使用 LinkedHashSet。

关于java - 在 Neo4j 的数据成员中保留元素的插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19031562/

相关文章:

java - 有什么方法可以从字符串生成相同的 UUID

java - Swagger 在 204(无内容)上生成响应正文

Python networkx 和持久性(可能在 neo4j 中)

java - 在当前项目和插件组 [org.apache.maven.plugins, org.codehaus.mojo] 本地中找不到前缀 'archetype' 的插件

java - 如何在java中解析这个日期

java - Mybatis 在 spring 中使用 xml 配置返回大结果

java - 插入到1 :m relation java spring

Neo4j:基于聚合函数过滤节点

Neo4j Desktop - 应用程序显示为 "Not Installed"

java - 在运行时动态构建java/scala方法体并执行