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

时间:2013-09-26 14:51:51

标签: java spring neo4j spring-data-neo4j

我有一个Set<String> set,我坚持用java中的Neo4j Spring。能够按照添加元素的顺序从set检索元素。集合不保留订单。我尝试使用Collection<String>/List<String>,因为Lists已经订购,但Neo4j不喜欢Collection。还有什么可以用于订购存储?

编辑:按顺序,我的意思是插入订单。

2 个答案:

答案 0 :(得分:4)

有一个特殊的Set实现,类TreeSet保持集合中的元素排序,或者通过它们的自然顺序或者通过询问Comparator它们应该如何排序。无论何时添加/删除元素,TreeSet都会重新排序集。

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

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

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

摘要:对于您的情况,请使用LinkedHashSet。

答案 1 :(得分:0)

List是有序集合(也称为序列)。该接口的用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。

  List<String> list  new ArrayList<String>();