按Double值对ArrayList进行排序

时间:2015-04-29 13:57:05

标签: java sorting arraylist

我有一个带有双值的ArrayList:

double distance = HaversineAlgorithm.HaversineInKM(lat, lon,
                    stop.getStopLat(), stop.getStopLon());
distanceList.add(distance);

我可以使用这个获得列表中的最小值:

int minIndex = distanceList.indexOf(Collections.min(distanceList));
currentList.get(minIndex); //it is the smallest value element

但我必须知道第二个最小值和第三个最小值元素。但我不知道怎么做。

我试图用这个对List进行排序:

Collections.sort(distanceList);

但它没有用。我的意思是List的最后一个索引不是最小值或最高值。

有谁可以解释我如何解决这个问题? :)

1 个答案:

答案 0 :(得分:0)

此代码看起来不错:

int minIndex = distanceList.indexOf(Collections.min(distanceList));
currentList.get(minIndex); //it is the smallest value element

因此,由于所有内容都按排序顺序排列,因此可以通过直接调用索引来获得最小,第二小和第三小的值。

    currentList.get(0);
    currentList.get(1);
    currentList.get(2);