java排序两个数组_java – 如何相对于彼此排序两个数组.

由于这两个值紧密耦合在一起,我实际上会编写一个自定义类来包含信息,然后对这些类进行排序,而不是使用原始数组.这样做会让你对许多可能的错误开放.

这样可以更好地控制,数据封装以及将来可能包含哪些方法或数据的扩展.

public class MyDistance implements Comparable {

private String placename;

private double mileage;

public MyDistance(String placename, double milage) {

this.placename = placename;

this.milage = milage;

}

public String getPlacename() {

return this.placename;

}

public double getMilage() {

return this.milage;

}

@Override

public int compareTo(MyDistance anotherDistance)

{

return milage.compareTo(anotherDistance.getMilage());

}

}

如果您希望在排序方面有更大的灵活性,那么您可以编写自定义Comparator< MyDistance>而不是让您的MyDistance类实现Comparable.类:

public class DistanceComparator extends Comparator {

@Override

public int compare(MyDistance dist1, MyDistance dist2) {

return dist1.getMilage().compareTo(dist2.getMilage());

}

}

您可以使用此比较器使用集合进行排序:

List distanceList = getDistanceListSomehow();

Collections.sort(distanceList, new DistanceComparator());

您不仅限于List,我只是将其用于解释目的.您应该查看Java Collections types的全部范围,以便最好地选择适合您目的的一个.但作为建议,ArrayList类型易于使用并保留您想要的顺序.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值