3 回答

TA貢獻1936條經驗 獲得超7個贊
在java中,當初始化數組時,它會為初始化保留內存,該內存需要保存與聲明的數組的數據類型相對應的數據。
所以刪除數組元素是你不能做的事情。
您可以做的簡單事情是通過覆蓋需要從數組中刪除的數組元素來向左移動其他數組元素。這意味著聲明一個新變量來保存數組當前保存的元素數量。
那么刪除數組元素就變得簡單了。
從要刪除的元素開始向左移動元素。
將變量減 1
當您想要獲取當前數組元素時,只需參考 no of elements 變量循環遍歷數組即可。

TA貢獻1825條經驗 獲得超6個贊
在 Java 中沒有直接的方法從數組中刪除元素。雖然Java對象中的Array,但它不提供任何方法來搜索add()
或remove()
搜索Array中的元素。ArrayList
這就是像HashSet 這樣的 Collection 類非常流行的原因。
盡管
感謝Apache Commons Utils,您可以使用該類
ArrayUtils
比您自己操作更輕松地從數組中刪除元素。要記住的一件事是,Java 中的數組是固定大小的,一旦創建數組,就無法更改其大小,這意味著刪除或刪除項目不會減少數組的大小。事實上,這是 Java 中 Array 和 ArrayList 之間的主要區別。
您需要做的是創建一個新數組,并使用System.arrayCopy()
或任何其他方式將該數組的剩余內容復制到新數組中。事實上,您將使用的所有其他 API 和函數都會執行此操作,但您無需重新發明輪子。
import java.util.Arrays;
import org.apache.commons.lang.ArrayUtils;
....
//let's create an array for demonstration purpose
int[] test = new int[] { 101, 102, 103, 104, 105};
System.out.println("Original Array : size : "
+ test.length );
System.out.println("Contents : " + Arrays.toString(test));
// let's remove or delete an element from an Array
// using Apache Commons ArrayUtils
test = ArrayUtils.remove(test, 2); //removing element at index 2
// Size of an array must be 1 less than the original array
// after deleting an element
System.out.println("Size of the array after
removing an element : " + test.length);
System.out.println("Content of Array after
removing an object : " + Arrays.toString(test));

TA貢獻1887條經驗 獲得超5個贊
在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array中,告訴您可以使用 array.splice(pos, n) 按索引刪除項目,其中 pos 是開始刪除的索引,n 是刪除的元素數量。
添加回答
舉報