在java中以最有效的方式对类的对象进行排序
我有可变距离的汽车级别。我想以最有效的方式对car类的对象进行排序。我尝试了下面的代码进行排序,但这不是一种有效的方法。有谁能帮我找到最有效的编码方法吗在java中以最有效的方式对类的对象进行排序,java,arrays,multithreading,oop,collections,Java,Arrays,Multithreading,Oop,Collections,我有可变距离的汽车级别。我想以最有效的方式对car类的对象进行排序。我尝试了下面的代码进行排序,但这不是一种有效的方法。有谁能帮我找到最有效的编码方法吗 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_cove
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];
}
}
}
对于(int j=0;j您可以使用比较器
给定级别的车辆:
class Car {
private long distance;
public long getDistance(){
return this.distance;
}
public void setDistance(long distance){
this.distance = distance;
}
}
和比较器距离比较器:
class DistanceComparator implements Comparator<Car> {
@Override
public int compare(Car a, Car b) {
return a.distance < b.distance ? -1 : a.distance == b.distance ? 0 : 1;
}
}
class Main{
private static void main(String[] args){
Foo foo = new Foo();
List<Car> carList = foo.getAllCars();
Collections.sort(car, new DistanceComparator());
}
}
类距离比较器实现比较器{
@凌驾
公共int比较(a车、b车){
返回a.distance
使用比较仪对汽车对象进行排序:
class DistanceComparator implements Comparator<Car> {
@Override
public int compare(Car a, Car b) {
return a.distance < b.distance ? -1 : a.distance == b.distance ? 0 : 1;
}
}
class Main{
private static void main(String[] args){
Foo foo = new Foo();
List<Car> carList = foo.getAllCars();
Collections.sort(car, new DistanceComparator());
}
}
主类{
私有静态void main(字符串[]args){
Foo-Foo=新的Foo();
List carList=foo.getAllCars();
Collections.sort(car,newdistancecomparator());
}
}
<代码>使用<代码>数组>排序< /代码>,并为其提供自定义<代码>比较器< /代码>。您可以使用可比或比较器。因为这是标记为“多线程”,所以您可能需要考虑。