我有一个带有双值的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的最后一个索引不是最小值或最高值。
有谁可以解释我如何解决这个问题? :)
答案 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);