如果您有一個數組(不能是ArrayList
),將用於存儲「狗的類型」,「狗的名稱」和「狗的年齡」等特定的事物。然後你創建一個顯然會輸入這些元素的對象。但是,如果用戶想要刪除整個對象(所有輸入名稱,年齡和年齡),那麼他們可以通過刪除狗的年齡來完成此操作,然後全部將被刪除。這可能不使用ArrayList?使用對象從數組中刪除
0
A
回答
0
你可以這樣做。它並不是很好的Java方法,但它可以工作,並且可以輕鬆地重構它。
在這裏你有狗類:
public class Dog {
private String name;
private int age;
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;
}
public static Dog[] removeByName(Dog[] list, String name) {
int counter = 0;
Dog[] result = new Dog[3];
for (int i = 0; i < list.length; i++) {
if (!list[i].getName().equals(name)) {
result[counter] = list[i];
counter++;
}
}
return result;
}
}
在這裏你可以看到如何使用它:
public class NotArrayList {
public static void main(String[] args) {
Dog[] dogs = new Dog[3];
Dog d1 = new Dog();
d1.setName("aaa");
d1.setAge(1);
Dog d2 = new Dog();
d2.setName("bbb");
d2.setAge(1);
Dog d3 = new Dog();
d3.setName("ccc");
d3.setAge(1);
dogs[0] = d1;
dogs[1] = d2;
dogs[2] = d3;
Dog[] res = Dog.removeByName(dogs, "aaa");
for (Dog d : res) {
if (d != null)
System.out.println(d.getName());
}
}
}
0
如果我正確理解你的問題,那麼我想你可以有一個刪除方法通過將該特定索引設置爲null
,從數組中刪除Dog
對象引用。
public void removeDog(Dog[] dogArray, int age) {
for(int i = 0; i < dogArray.length; i++) {
if(dogArray[i].getAge() == age){
dogArray[i] = null; // removing the dog object by making it null
break;
}
}
}
您需要注意的是,以下是對上述方法所做的假設。
- 數組大小不變。只是引用了現在刪除的
Dog
對象的索引現在是null
。 - 如果存在多個年齡相同的
Dog
對象,則會先刪除數組中存在的Dog
對象(按索引)。 dogArray
參數在不是實例變量的情況下傳遞,否則可以避免。- 年齡是
int
類型,並且Dog
類擁有公共吸氣劑,getAge()
。 - 此方法不會返回任何內容,但可以根據您的需要返回
boolean
(刪除狀態)或Dog
(刪除的Dog對象)。
相關問題
- 1. 從對象數組中刪除對象
- 2. 從數組中刪除動態對象從DOM中刪除
- 3. 只用對象的引用從數組中刪除對象
- 4. 無法從數組中刪除對象
- 5. 從數組中刪除stdClass對象
- 6. 從數組中刪除角對象 - $$ hashKey?
- 7. 從json對象中刪除json數組
- 8. 從數組中刪除對象Iphone
- 9. MongoDB:從數組中刪除對象
- 10. 從數組中刪除一個對象?
- 11. 從數組中刪除對象onclick
- 12. 從數組中刪除JSON對象
- 13. 從數組中刪除對象
- 14. JavaScript - 從對象中刪除數組
- 15. 從數組中刪除對象
- 16. 從嵌套數組中刪除對象
- 17. 從對象中刪除空數組-c
- 18. 從數組中刪除對象
- 19. 從JavaScript數組中刪除對象?
- 20. 從PHP JSON對象中刪除數組
- 21. 從數組中刪除對象
- 22. 從數組中刪除所選對象
- 23. 如何使用lodash從數組中刪除對象?
- 24. 使用變量屬性值從javascript數組中刪除對象
- 25. 如何使用jquery從數組中刪除重複的對象
- 26. 使用Javascript:從對象的數組中刪除的元素
- 27. 使用javascript從數組中刪除對象?
- 28. 如何從jquery中的對象數組中刪除對象?
- 29. 從java中的對象數組中刪除對象
- 30. 從數組中刪除對象並插入到其他數組中使用Angular
可以更改數組元素以使其具有null值,但創建後無法更改數組的長度*。 –
我在說假設@KamleshArya,因爲這是我想要在我的新學習曲線項目中實現的=)只是對是否可以使用 – user3443834
感興趣。數組包含「Dog」對象是否正確?因爲你的這個陳述*如果你有一個數組(不能是ArrayList),它將被用來存儲諸如「狗的類型」,「狗的名字」和「狗的年齡」等具體的東西。*是相當混亂的。 – SudoRahul