gpt4 book ai didi

java - 如何对 ArrayList 中的项目进行排序,并根据 ArrayList 中的顺序更改另一个数组中项目的位置?

转载 作者:行者123 更新时间:2023-12-01 06:13:46 24 4
gpt4 key购买 nike

有一个车辆对象的ArrayList,已使用多次。每个对象都有一个 id 和它被使用的次数。

ArrayList<Object> usedVehicles = new ArrayList();

还有另一个数组,保存所有车辆的 id。

int[] vehicleIDs = database.getVehicleIds();

我需要根据 vehicleIDs 数组中的元素被使用的次数对元素进行排序,显然从未使用过的车辆必须排在前面。

我想我可以使用比较器对 ArrayList 中的车辆对象进行排序:

public class CustomComparator implements Comparator<MyObject> {
@Override
public int compare(Vehicle vehicle1, Vehicle vehicle1) {
return vehicle1.getTheNumberOfTimesUsed().compareTo(vehicle2.getTheNumberOfTimesUsed()());
}
}

但是,我不知道如何根据 ArrayList 中的顺序更改 vehicleIDs 数组中项目的位置。另外,从未使用过的车辆必须优先。

最佳答案

在java中,你无法直接改变数组中元素的顺序。

但是,您可以根据已排序的 ArrayList 创建一个新数组(例如 newVehicleIDs ),然后用新创建的数组 (vehicleIDs = newVehicleIDs;) 替换vehicleIDs 数组的值。

关于java - 如何对 ArrayList 中的项目进行排序,并根据 ArrayList 中的顺序更改另一个数组中项目的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29068721/

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