alx*_*cyl 2 java sorting arraylist
我有一个类ArrayList的多个实例ElementClass.里面ElementClass是一个名为的方法getCounter(),它返回counter该类中变量的值.这个变量只能有0,1或2作为它的值.
我需要ArrayList根据方法getCounter()返回的值按升序对这些条目进行排序.我怎么能做到这一点?我尝试研究几种方法,但我发现的所有方法都需要设置一个值.例如:
list[i + 1] = temp
但是ArrayLists不允许设置值.例如:
ArrayList<ElementClass> temp = list.get(i);
list.get(i + 1) = temp;
Run Code Online (Sandbox Code Playgroud)
由于错误,上面的代码不允许我编译.ArrayLists只允许在列表末尾添加项目(通过.add(item)方法)并从特定索引中删除项目(通过该.remove(index)方法).
如何仅使用add()和remove()方法完成排序?或者是否有另一种方法在Java中对ArrayLists进行排序?
Thi*_*ilo 10
Collections.sort(list, new Comparator<ElementClass>() {
public int compare(ElementClass a, ElementClass b){
return a.getCounter()-b.getCounter();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |