1

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

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

4

2 回答 2

4

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

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

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

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

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

于 2013-09-26T14:53:57.340 回答
0

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

  List<String> list  new ArrayList<String>();
于 2013-09-26T14:58:18.283 回答