有序集合和有序集合的区别是什么?

解决了命令集合之间有什么区别吗?

96889 次浏览

一个有序的集合会根据你把东西放入/从集合中移除的顺序来维护元素的顺序。

排序集合根据排序条件对元素进行排序。

订购的收集品表示集合中的元素具有特定的顺序。顺序与值无关。名单就是一个例子。

分类收集意味着集合不仅有顺序,而且顺序取决于元素的值。整理好了就是一个例子。

相反,没有任何命令的收集可以以任意顺序维护元素。

Java 使用“有序集合”来表示诸如 List 之类的集合,其中(与 HashSet 不同) ,集合记住元素应该按什么顺序排列。因此元素可以按顺序添加到集合中的特定“位置”。

Java 使用“排序集合”来表示像 SortedSet 这样的集合,其中(与 List 不同)迭代器遍历集合的顺序与指定的 Compator 或元素的自然顺序一致。

所以不同之处在于排序是否依赖于值(“排序”) ,或者是元素独立于它们的值(“排序”)而具有的属性。

排序将意味着根据 Comparable 或 Comparator 的实现进行排序。有序意味着它遵循插入顺序或其他一些一致且定义的顺序定义,但在其他方面是任意的。

因此,字符串的排序列表将根据 String.compareTo 方法进行排序。列表可能包含以任意顺序插入的字符串列表,但该顺序始终保持不变。

当然,Collectionsclass 上有对列表进行排序的方法。

是的,虽然概念相似。

List是一个有序的集合: 每个元素都有一个索引,它形成元素的有序性,但通常与元素本身的任何属性都不相关。

SortedMapSortedSet是有序的集合,这意味着通过集合的迭代将按照从元素本身派生出来的顺序进行。例如,如果您有一个 SortedSet<String>,那么字符串将按照字典排序顺序进行排序。

当外部顺序与元素的排序顺序相同时,排序的集合 可以可以排序,但不必排序(例如在使用 Collections.sort()之后)。排序的集合总是隐式排序的(也就是说,总是有一个“第一”元素,只要不添加另一个更小的元素,它总是相同的)。

有序集合是跟踪每个元素插入的连续索引的集合。

排序集合是一个有序集合,当排序顺序额外取决于要插入的元素的值时,在整个使用 Compaable 接口的过程中,该接口为您提供了定义排序条件的方法。

希望能帮上忙。

排序集合通常意味着根据算法所依赖的元素的属性,元素从最小值排序到最大值,或者从最小值排序到最大值,反之亦然。

对于整数集合,排序可以从最小数到最大数 对于一个人的收集,它可能会被人的身高或体重等。

说到顺序,通常是指插入的顺序。排序后顺序可能会改变

已排序集合 vs. < em > 已排序集合

1. 分类收集

排序集合是利用 Java集合框架提供的排序特性对集合进行排序。在使用 java 比较器从数据库读取数据之后,排序发生在运行 Hibernate 的 JVM 的内存中。

如果集合不大,那么对其进行排序将是更有效的方法。 在 jvm 内存中发生这种情况时,它可能抛出“内存不足”错误。

2. 订单收集

订单集合是通过在查询中指定 Order-by 子句对集合进行排序,以便在检索时对该集合进行排序。 如果您的集合非常大,那么对其进行排序将是更有效的方法。与排序的集合相比,它是快速的。