【发布时间】:2012-03-29 13:41:36
【问题描述】:
我遇到了一个问题,原来的二维数组列表在排序后以以下格式输出:
[639.5, 134, -2]
[639.524, 131, -1]
[640.478, 179, -2]
[647.968, 192, -2]
[649.068, 199, -2]
[65.581, 3, -1]
[66.387, 6, -1]
[66.726, 7, -1]
[660.182, 194, -1]
我只想根据第一列进行排序。因此,我的预期结果应该是这样的:
[65.581, 3, -1]
[66.387, 6, -1]
[66.726, 7, -1]
[639.5, 134, -2]
[639.524, 131, -1]
[640.478, 179, -2]
[647.968, 192, -2]
[649.068, 199, -2]
[660.182, 194, -1]
Collections.sort() 方法以某种方式对列表进行排序,就好像它是一个字符串一样,因此“0”大于“.”,不知道第一列是由双精度值组成的。任何人都可以帮助我吗?谢谢!
【问题讨论】:
-
我们能看到您用来对这些数据进行排序的代码吗?这会有所帮助。也许在pastebin?
-
这是原始未排序的二维数组列表:pastebin.com/aUaHaNdL 请注意,每一行都是父数组列表中的一个元素。每行都有一个包含 3 个元素的数组列表。这就是我们获得二维数组列表的方式。我在使用 Collections.sort 后得到了这个...pastebin.com/PaxjQQS2我在 java 中这样做。
-
我更倾向于创建、修改和排序列表的代码,但这很有帮助。 :P 最有可能的是,您最终将不得不创建自己的排序函数。 Here's a blog post where someone appears to be doing what you want.
-
原始列表和排序列表的格式如下: ArrayList
originalList = new ArrayList (); ArrayList finalList = new ArrayList ();整个代码有很多冗余信息,所以我希望这样做。呵呵。 -
我的代码在这里,排序方法在底部,我已经删除了我的非工作代码...pastebin.com/zpp1Zw1G
标签: java list sorting arraylist 2d