我有一個Set<String> set
,我堅持使用java中的Neo4j Spring。爲了能夠按照向元素添加元素的順序從set
中檢索元素。套件不保留訂單。我曾嘗試使用Collection<String>/List<String>
,因爲Lists
s已經訂購,但Neo4j不喜歡Collection
。還有什麼可以用於有序存儲?保留Neo4j數據成員中元素的插入順序
編輯:按順序,我的意思是插入順序。
我有一個Set<String> set
,我堅持使用java中的Neo4j Spring。爲了能夠按照向元素添加元素的順序從set
中檢索元素。套件不保留訂單。我曾嘗試使用Collection<String>/List<String>
,因爲Lists
s已經訂購,但Neo4j不喜歡Collection
。還有什麼可以用於有序存儲?保留Neo4j數據成員中元素的插入順序
編輯:按順序,我的意思是插入順序。
Set有一個特殊的實現,類TreeSet
保持集合中的元素排序,或者通過自然排序或者通過詢問Comparator
如何排序。無論何時添加/移除元素,TreeSets都會重新排序集合。
還有LinkedHashSet
實現,它根據插入順序保留項目。
Collection是接口Set和List都擴展的接口。 (以及其他接口)
集合不保證排序。他們所關心的是添加和刪除元素的可能性。 Set
不允許添加每個元素的多個副本。 Set接口本身不保證排序。 List
接口保證排序,但也允許相同元素的多個副本。
摘要:爲了您的情況,請使用LinkedHashSet。
列表是一個有序集合(也稱爲序列)。該接口的用戶可以精確控制每個元素插入到列表中的哪個位置。用戶可以通過整數索引(列表中的位置)訪問元素,並搜索列表中的元素。
List<String> list new ArrayList<String>();
在編輯問題時,它表示他已經嘗試了這一點。 –
謝謝,但是Neo4j的不會讓我堅持從'Collection' –
@StephenD什麼'Set'是Collection'的'子接口。所以所有集合也都是集合。 –
....很好玩 –