使用选择排序对名称的ArrayList按字母顺序排序时遇到麻烦

时间:2019-04-21 05:11:28

标签: java sorting arraylist selection-sort

我正在尝试使用选择排序对ArrayList<>的名称进行排序,以便使用我的两种方法minimumPosition()maximumPosition()按字母升序和降序对名称进行排序。我在比较Strings时遇到麻烦,因为它说.compareToIgnoreCase需要一个数组,但是找到了ArrayList<String>。我不确定是否可以通过其他方式比较ArrayList<>以按字母顺序打印我的姓名。

我尝试将返回方法的类型从int切换为String,但这没有帮助,我还尝试了将某些变量类型从int切换为{ {1}}只是为了查看是否有任何工作有效,而没有成功。我在网上搜索以找到解决方案,但是我只找到了如何对整数和数组而不是ArrayLists使用选择排序。我的代码中的整数String用于分配的第二部分,涉及线性和二进制搜索,因此请忽略它。我的主要重点是姓名的ArrayList<>。任何帮助将不胜感激,下面是我的代码示例。

ArrayList<>

我希望这些名称按字母顺序显示,从“安”开始,升至“汤米”,并且在另一行中,从“汤米”降到“安”。

1 个答案:

答案 0 :(得分:0)

只需更改

if(array.get(i).compareToIgnoreCase(array[minPos]) < 0)

if(array.get(i).compareToIgnoreCase(array.get(minPos)) < 0)

如果您要尝试两次将某个特定索引的元素获取一次,为什么要使用差值法来尝试呢?