java排序两个数组_java – 如何相对于彼此排序两个数组.
由于這兩個(gè)值緊密耦合在一起,我實(shí)際上會編寫一個(gè)自定義類來包含信息,然后對這些類進(jìn)行排序,而不是使用原始數(shù)組.這樣做會讓你對許多可能的錯(cuò)誤開放.
這樣可以更好地控制,數(shù)據(jù)封裝以及將來可能包含哪些方法或數(shù)據(jù)的擴(kuò)展.
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類實(shí)現(xiàn)Comparable.類:
public class DistanceComparator extends Comparator {
@Override
public int compare(MyDistance dist1, MyDistance dist2) {
return dist1.getMilage().compareTo(dist2.getMilage());
}
}
您可以使用此比較器使用集合進(jìn)行排序:
List distanceList = getDistanceListSomehow();
Collections.sort(distanceList, new DistanceComparator());
您不僅限于List,我只是將其用于解釋目的.您應(yīng)該查看Java Collections types的全部范圍,以便最好地選擇適合您目的的一個(gè).但作為建議,ArrayList類型易于使用并保留您想要的順序.
總結(jié)
以上是生活随笔為你收集整理的java排序两个数组_java – 如何相对于彼此排序两个数组.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java fx 内置图标_图标 – 如何
- 下一篇: Java注释 link_Java 文档注