java中列表/树集中的排序是什么意思

java中列表/树集中的排序是什么意思,java,Java,Java文档称“树集使其元素在内部保持有序” 这里订购意味着什么?这是指分类吗?如果是这样,那么排序和排序之间的区别是什么?是。它使用其元素类型的自然排序顺序(例如字符串的字母顺序、整数的数字顺序等)进行排序,除非提供了比较器来定义排序顺序 根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序 从中选择。是。它使用其元素类型的自然排序顺序(例如字符串的字母顺序、整数的数字顺序等)进行排序,除非提供了比较器来定义排序顺序 根据使用的构造函数,可以使用元素的自然顺序

Java文档称“树集使其元素在内部保持有序”


这里订购意味着什么?这是指分类吗?如果是这样,那么排序和排序之间的区别是什么?

是。它使用其元素类型的自然排序顺序(例如字符串的字母顺序、整数的数字顺序等)进行排序,除非提供了比较器来定义排序顺序

根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序


从中选择。

是。它使用其元素类型的自然排序顺序(例如字符串的字母顺序、整数的数字顺序等)进行排序,除非提供了比较器来定义排序顺序

根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序


从.

树集合中的排序,从:

基于
TreeMap
的NavigableSet实现。根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序

这里的“自然排序”意味着类可以实现,这允许您指定
compareTo()
的行为


您还可以使用
TreeSet
构造函数,该构造函数允许您指定一个
比较器
类,该类将指定排序类型:)

TreeSet
中的排序,从:

基于
TreeMap
的NavigableSet实现。根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序

这里的“自然排序”意味着类可以实现,这允许您指定
compareTo()
的行为

您还可以使用
TreeSet
构造函数,该构造函数允许您指定一个
比较器
类,该类将指定排序的类型:)

“Ordered”表示有一个定义的顺序,可以在其中检索元素。这意味着当您在集合上迭代时,您知道将以什么顺序获得元素

在这种情况下,它的意思是“排序”(因为树集合根据给定的比较器排列元素,即它对元素进行排序)

在其他情况下(例如队列),它可以表示“插入顺序”

对于列表,您可以自己指定顺序(通过为每个元素分配一个索引),列表将按此顺序保存它们(与插入顺序或任何排序顺序无关)

与此相比,HashSet在检索时不保证元素的顺序。

“Ordered”表示有一个定义的顺序可以检索元素。这意味着当您在集合上迭代时,您知道将以什么顺序获得元素

在这种情况下,它的意思是“排序”(因为树集合根据给定的比较器排列元素,即它对元素进行排序)

在其他情况下(例如队列),它可以表示“插入顺序”

对于列表,您可以自己指定顺序(通过为每个元素分配一个索引),列表将按此顺序保存它们(与插入顺序或任何排序顺序无关)


与此相比,HashSet不保证检索时元素的顺序。

那么为什么java文档不说“元素已排序”@Rekha-因为排序不一定意味着“已排序”(如字母表)。它们可以是反向排序的,或者按照你所考虑的“排序”顺序,但是你也可以改变比较函数来完全做其他的事情。“排序”可能意味着这些元素已经被放置在以前的状态中,它们不是按顺序排列的。例如TreeSet的情况并非如此-每当一个元素被添加到该集合中时,它都会被添加到正确的位置,因此排序从来都不是必需的。@Birrree+1/@Rekha要添加到Birrree所说的内容中,顺序来自
Comparable
类的
compareTo
方法,或
比较器的
比较
方法。在这些方法中,技术上只需要返回一个整数。我不知道你为什么会这么做,但是如果你愿意的话,你可以从技术上返回一个随机整数。“顺序”来自于<代码>比较器< />代码,但在你可能考虑的意义上不一定是“排序”的。那么为什么java文档不说“元素被排序”@ Rekha——因为排序并不一定意味着“排序”(就像字母表)。它们可以是反向排序的,或者按照你所考虑的“排序”顺序,但是你也可以改变比较函数来完全做其他的事情。“排序”可能意味着这些元素已经被放置在以前的状态中,它们不是按顺序排列的。例如TreeSet的情况并非如此-每当一个元素被添加到该集合中时,它都会被添加到正确的位置,因此排序从来都不是必需的。@Birrree+1/@Rekha要添加到Birrree所说的内容中,顺序来自
Comparable
类的
compareTo
方法,或
比较器的
比较
方法。在这些方法中,技术上只需要返回一个整数。我不知道你为什么会这么做,但是如果你愿意的话,你可以从技术上返回一个随机整数。“顺序”来自比较器< />代码,但它不一定是“排序”,在这个意义上,您可能会考虑。<代码>列表是一个有序但不一定排序的集合的明显例子。code>LinkedHashSet
有一个顺序。一个
List
就是一个明显的例子