我正在尝试通过实现我用来对数组进行排序的类似算法来对 ArrayList 进行排序。我知道我可以使用 Collects.sort,但由于我还是初学者,我宁愿编写代码并学习它。比较存储在数组列表中的两个整数对象的值。这是我的代码,其中通过引用此方法将分数数组作为参数传递。现在这段代码没有正确排序,而是在数组中的所有下标处插入最小的数字。在旁注中,我很好奇如何使用 compareTo() 方法比较索引 j 和索引最小的分数,因为我正在比较对象而不是基元,我觉得这将是比强制转换更好的解决方案。谢谢!
int smallest;
for (int i = 0; i < 5; i++)
{
smallest = i;
for (int j = i; j < scores.size(); j++)
{
if ((Integer) scores.get(j) < (Integer) scores.get(smallest))
smallest = j;
}
int temp = (Integer) scores.get(i);
int swap = (Integer) scores.get(smallest);
scores.add(i, swap);
scores.add(smallest, temp);
}