我确信您可能从CompSci学生那里得到了很多,我尝试搜索,但我的情况与我能找到的其他东西有很大不同。无论如何,这是我的课程,应该对整数数组进行排序(然后在将来将其修改为对对象进行排序,但ints会立即进行)。
我的目标是制作一个arrayList,它基本上是一排存储桶。那么每个存储桶都是一个链表。我觉得自己走在正确的道路上,但是编译器不喜欢我的最后一行代码,因此我的想法已经用完了。
这是一个更新。这就是我现在所拥有的,但是我仍然认为它不会起作用
public void sorter(){
int highest_int = 0;
for(int i=0; i<entries.length; i++){
if (highest_int < entries[i])
highest_int = entries[i];
}
ArrayList<LinkedList<Integer>> row = new ArrayList<LinkedList<Integer>>();
LinkedList<Integer> column = new LinkedList<Integer>();
while (highest_int>0){
row.add(column);
highest_int--;
}
for(int i=0; i<entries.length; i++){
int j = entries[i];
column.add(0, j);
row.set(j, column);
}
}
最佳答案
编译器“不喜欢”您的代码,因为add()
的LinkedList
方法不返回任何内容(具有void
返回类型)。因此,不能将其用作set()
方法的参数。基本上,add()
修改了被调用的对象,但不将该对象作为值返回。
我可以建议的最简单的更改是:
for(int i=0; i<entries.length; i++){
int j = entries[i];
column.add(0, j);
row.set(j, column);
}
除此之外,我不清楚您在此实际上要完成什么。我什么都看不到。