我想要做的是仅当我想要删除的对象具有我放入参数中的 id 时,才从对象表中删除对象。
让我们进入代码:
public static animals[] supprimerAnimals(int identifiant, animals[] liste){
animals[] newOne = new animals[0];
for(int i = 0; i < liste.length; i++){
}
return newOne;
}
此方法将在参数中接收一个 id 和一个表。 在 table 上,我们有物体......让我们告诉他们动物。这是我们可以拥有的对象列表:
liste[0] = animals(1, "cat", 6)
liste[1] = animals(2, "dog", 4)
这里是构造函数:
animals(int id, String type, int age);
因此,我们已经拥有解决方案所需的一切。
现在让我们来看一个例子...... 如果我这样做:
animals[] zoo = supprimerAnimals(2, liste);
我需要动物园包含这个:
zoo[0] = animals(1, "cat", 6);
你们能让我走上正确的道路吗? 我锁定了这样一个事实:我必须创建一个新表,而且即使现在 id 是否存在于旧表上,我也不知道...所以我无法修复新表的大小...
谢谢大家
最佳答案
animals[]
表示有一个名为animals的java对象,并且该数组中的项目具有此数据类型“animals”
下面我创建了一个名为 Animal 的对象,这里是一个包含 2 种方法的示例
public class Animal{
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
现在你可以在一些地方实现deleteMethods,例如:
public static Animal[] removeAnimal(Animal[] animals, int id) {
List<Animal> list = Arrays.asList(animals);
for(Animal item : animals)
if( item.getId() == id )
list.remove(item);
return list.toArray(animals);
}
或者
public static Animal[] removeAnimal2(Animal[] animals, int id) {
Animal[] arr = new Animal[animals.length-1];
int i = 0;
for(Animal item : animals){
if( item.getId() != id ){
try{
arr[i]=item;
}catch(Exception ex){
ex.printStackTrace();
}
}
}
return arr;
}
关于java - 在方法中删除表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414214/