【发布时间】:2016-07-12 13:04:10
【问题描述】:
我有一个对象列表。这些对象(除其他外)有一个私有 int 数组(如果有帮助,我可以将它转移到一个列表中)。这个数组有一个公共的 Getter。所有数组的大小相同。
我想根据对象的数组对对象进行排序,如下所示:
Unsorted:
{[0, 1, 4, 5],
[0, 0, 2, 3],
[0, 1, 1, 2]}
Sorted:
{[0, 0, 2, 3],
[0, 1, 1, 2],
[0, 1, 4, 5]}
字面意思(称为字典式):
- 比较每个数组的第一个整数
- 如果它们相等,则比较每个数组的下一个 int(依此类推)
- 如果它们不相等,则比较的结果就是最终结果。
我设法搜索它们,例如只有数组的第一个元素带有普通的 Comparator 但我不知道如何搜索它们。
【问题讨论】:
-
要明确:我的数组是 int[] 而不是 Integer[]
-
这真的很有趣,但是...您没有向我们展示您尝试过的内容。是什么阻止您编写代码?
-
如果数组是私有的,您希望如何使用它们对您的对象进行排序?您无法比较私有属性。
-
所有数组的大小都一样吗?
-
实际的标准是哪个数组比另一个数组大还是小?总和?它们的熵(它们的排序程度)?他们的最小值/最大值? ...在澄清之前投反对票 - 这个问题太模糊(广泛)。
标签: java sorting collections