私は以下のクラスを持っています。この中で、Irisはいくつかの属性を持つ別のクラスです。Javaで配列リストをソート
public class Helper {
Iris iris;
double distance;
public Helper(Iris iris, double distance) {
this.iris = iris;
this.distance = distance;
}
}
私は距離パラメータに基づいて降順、この(すなわち一覧<ヘルパー> helperList)の配列リストをソートしたいです。私は以下の方法を書いたが、うまくいかない。
public void sort(){
for(int k=0; k < helperList.size(); k++)
{
double distance = helperList.get(k).distance;
for(int l=0; l < helperList.size(); l++)
{
Helper temp = helperList.get(l);
if(distance < temp.distance)
{
helperList.set(l, helperList.get(k));
helperList.set(k, temp);
}
}
}
}
誰でも解決策を提案できますか?
どのように? –
リストが適切にソートされていません。 – Ammar
2つの要素、例えば '[1,2]'がどうなるかを考えてみましょう。 'list.get(1)> 1'のために 'k = 0、l = 1'の場合、スワップして' [2,1] 'を返します。次に、 'k = 1、l = 0'の場合、再び入れ替えます。各要素は片方の要素と比較するだけです。 –