Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SortedCollection接口?_Java_Collections - Fatal编程技术网

Java SortedCollection接口?

Java SortedCollection接口?,java,collections,Java,Collections,我正在寻找一个接口来描述元素的契约顺序,这个接口很重要,但没有别的 我可以使用List,但是SortedSet没有实现List。我可以使用Iterable,但是HashSet在未排序时实现了Iterable 您有什么建议?没有这样的界面。ArrayList和TreeSet的常用接口是Collection和Iterable,但这些接口也由HashSet实现。您将如何使用这样的接口?什么是“元素的顺序很重要”?好吧,列表背后的想法是快速访问两端和快速遍历。排序在列表中是一个缓慢的操作。同时,集合是一

我正在寻找一个接口来描述元素的契约顺序,这个接口很重要,但没有别的

我可以使用
List
,但是
SortedSet
没有实现
List
。我可以使用
Iterable
,但是
HashSet
在未排序时实现了
Iterable


您有什么建议?

没有这样的界面。
ArrayList
TreeSet
的常用接口是
Collection
Iterable
,但这些接口也由
HashSet
实现。您将如何使用这样的接口?什么是“元素的顺序很重要”?好吧,
列表背后的想法是快速访问两端和快速遍历。排序在列表中是一个缓慢的操作。同时,
集合
是一个对任何领域都没有特别优化的包。如果需要始终对其进行排序,那么
TreeSet
就是适合您的类,您只需使用它的迭代器即可。或者,您可以使用
java.util.Collections.sort(list,Comparator)
@PaulBoddington对任何可修改的列表进行排序。我将使用这样的接口来描述合同。我需要元素的顺序,本来不需要比较器,但它似乎没有其他选项。实际上,
List
保留了插入元素的顺序,还可以使用
Collections轻松排序。sort(…)
方法,如@coladict所述。如果您需要一个只保留插入项目顺序的集合,可以使用
LinkedHashSet
。它实现
Iterable
,并保留插入顺序。但它是一个特定的实现,而不是一个接口。