gpt4 book ai didi

java - Arraylist 和插入排序对象

转载 作者:行者123 更新时间:2023-12-01 12:09:12 25 4
gpt4 key购买 nike

问题

我需要使用插入排序对 <klant> 的 ArrayList 进行排序在一个元素上(Acternaam)。我该怎么做?

代码

我用于插入排序的代码给了我一些错误,因为我使用的是 Arraylist 而不是 1000 个带有数组的示例。

public class InsertionSort {

public static void insertionSort(ArrayList<Klant> klanten){
for(int i = 1; i <klanten.size(); i++){
Comparable objectToSort = klanten.get(i);
int j = i;
while(j > 0 && klanten[j-1].compareTo(objectToSort) > 1){
klanten[j] = klanten[j-1];
j--;
}
klanten[j] = objectToSort;
}
}
}

Klant.class 有几个 getter 和 setter,它们返回其变量,其中之一是 getAchternaam()它返回 achternaam 字符串。

调用代码:

ArrayList<Klant> klanten = new ArrayList<Klant>();
InsertionSort stringsort = new InsortionSort();
stringsort.insertionSort(klanten);

我做错了什么以及如何解决它?

code insertionSort.class 中的任何地方在klanten是一个错误

'The type expression must be an array but it resolved to ArrayList < klant>

最佳答案

对于数组,您可以使用 [] 运算符检查和分配元素。对于 List,您需要使用 getset方法。

因此,如果要将对象分配到列表中的某个位置,可以使用:

klanten.set(index, object);

如果您想从列表中的某个位置获取对象,可以使用:

klanten.get(index);

编辑:

此外,compareTo(...) > 1 也是错误的。 compareTo 返回值的唯一意义在于它是否大于、小于或等于零。将其与 1 进行比较不会对您的排序有帮助。

关于java - Arraylist 和插入排序对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com