我有一个 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/