gpt4 book ai didi

java - 从数组中删除一个对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:23 24 4
gpt4 key购买 nike

我有一个自定义类的对象数组,我想删除一个随机对象(根据某些标准选择)。我该怎么做并保持数组有序?自然地,元素会向左移动,但我不太明白删除元素部分,需要帮助制定逻辑。这就是我正在做的,但它不能正常工作:(

     public static void deleteRecord(Customer[] records, int AccId){
int pos=0; // index
boolean found = false;
for (int i=0; i<count; i++){ // count is the number of elements in the array
if (records[i].get_accountid()==AccId){
found = true;
pos = i;
break;
}
}
if (!found)
System.out.println("The Record doesn't exist");

for (int j=pos+1; j<count; j++) {
records[j-1]= records[j];
}

最佳答案

您可以将元素向左移动,因为这将覆盖要删除的项目。

public void remove(Object[] a, int index) {
for (int i = index + 1; i < a.length && a[i] != null; i++) {
a[i - 1] = a[i];
}
}

假设第一个null表示元素结束

当然,这是O(n)的时间,还有像LinkedList这样的数据结构可以在O(1)的时间内删除元素。

关于java - 从数组中删除一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5450383/

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