您好我想知道如何编写一个方法来添加和删除java中对象数组中的对象。我不允许使用任何java内置的抽象数据结构来执行此操作,例如数组列表或向量等。。汽车列表最初是空的,但是newCar-要添加到此集合的新Car对象 position - CarCollection中将插入汽车的位置 前提条件: 该CarCollection对象已被实例化,并且1<位置< items_currently_in_list + 1.此菜单中的汽车对象数小于maxCarsPossible。
后置条件: 新车现在存放在集合中的所需位置。所有最初位于大于或等于位置的购物车都会向后移动一个位置。 (例如:如果一个集合中有5辆车,位置为1-5,并且您在第4位插入新车,则新卡将位于第4位,位于第4位的车将移至位置5 ,位于第5位的汽车将移至位置6)。
public class CarCollection {
private Car[] collection;
final int maxCarsPossible = 100;
public CarCollection()
{
collection = new Car[0];
}
public void addCar(Car newCar,int position)
{
for(int i =0; i < collection.length; i++)
{
if(collection.length+1>=position&&position>=1)
{
i = position;
collection[i] = newCar;
}
}
}
答案 0 :(得分:0)
我建议存储另一个名为oldCarCollection的数组,并在每次添加新车时重置和更新。例如,在你的addCar方法中,
public void addCar(Car carToAdd) {
cars = new Car[oldCars.length + 1];
for (int i = 0; i < cars.length; i++) {
if (i == oldCars.length) {
// If we're done transferring from old cars.
cars[i] = carToAdd;
} else {
// Transfer from old cars
cars[i] = oldCars[i];
}
}
// Update oldCars
oldCars = new Car[cars.length];
System.arraycopy(cars, 0, oldCars, 0, oldCars.length);
}