【发布时间】:2018-01-31 14:20:24
【问题描述】:
我需要按页面行顺序订购一个 ArrayList of Points。假设这些点为文本矩形的 minX 和 minY。
说我有以下几点
点(100,10), 点(110, 20), 点(125, 5), 点(130, 10)
排序后的顺序应与页面订单项对齐
即点(125, 5), 点(100,10), 点(130, 10), 点(110, 20)
我试图先按 Y 坐标对点进行排序,然后再按 X 坐标进行排序
public int compare(final Point a, final Point b) {
if (a.y() < b.y()) {
return -1;
}else if (a.y() > b.y()) {
return 1;
}else {
return 0;
}
}
public int compare(final Point a, final Point b) {
if (a.x() < b.x()) {
return -1;
}else if (a.x() > b.x()) {
return 1;
}else {
return 0;
}
}
下面是我现在得到的订单
Line = 0.00 2450 00 SewiceTax @14 on are,总计 2450 卢比
线 = Swachh Bharat Cass @ O 50 42':
线 = Knshu Kaiyan Cass @ 0'50 “5
行 = 少预付
行 = 2450 GD 应付余额
预期是
Line = Sub Total 2450 Only 0.00 2450 00INR SewiceTax @14 on are,
【问题讨论】:
-
你的尝试?显示您尝试过的代码。
-
你试过了吗?我确信有一个 SO question 已经涵盖了如何为点类创建客户比较器,以便在对点列表进行排序时使用。
-
很高兴看到您已经尝试过,我们不是来为您编程算法^^
-
在 Point 类中使用比较器