【发布时间】:2015-05-18 19:33:54
【问题描述】:
我有汽车类,它的距离可变。我想以最有效的方式对汽车类的对象进行排序。我试过下面的代码进行排序,但这不是一种有效的方法。任何人都可以帮助我最有效的编码方式。
for(int j=0;j<get_car.no_of_cars;j++)
{
for(int i=j;i<get_car.no_of_cars;i++)
{
if(get_car.Hundai[j].distance_covered>get_car.Hundai[i].distance_covered)
{
A[i]=get_car.Hundai[j];
get_car.Hundai[j]=get_car.Hundai[i];
get_car.Hundai[i]= A[i];
}
}
}
在上面的代码中 huandai 是汽车对象。
【问题讨论】:
-
使用
Arrays#sort并为其提供自定义Comparator<Car>。 -
您可以使用可比较或比较器。
-
由于这被标记为“多线程”,您可能需要考虑Arrays.parallelSort。
标签: java arrays multithreading oop collections