2011-11-13 54 views

回答

2

您無法從數組中刪除項目。

但是,您可以創建一個較小大小的新陣列,並將舊陣列的內容複製到新陣列。然後,將引用的值分配給新數組。可以考慮使用java.util.List。它有一個方法remove()

+0

謝謝你的建議 – Carlo

3

如果想從末端刪除數組元素,也可以使用自Arrays.copyOf() JDK 1.6+

例如:

array = Arrays.copyOf(array, 4); 

它只是複製原始陣列的前4種元素到一個新的陣列,所以它具有與刪除陣列相同的效果[5]

如果要從指定索引中刪除元素,可以使用Apache Commons Lang 3中的ArrayUtils.remove()來完成此操作。

/**Remove the element at index 3**/ 
array =ArrayUtils.remove(array, 3); 
+0

感謝它有很大的幫助 – Carlo

0

對這些東西使用數組非常耗時。我可以建議這些解決方案:
1.使用Java庫提供的數據結構之一。我會使用HashMap,因爲它的結構允許將一個值映射到一個鍵(HashMap),並且它執行添加,查找和刪除項目的部分。如果你需要多於2列(HashMap),你可以將它們用於多級hashasps。
2.使用List或ArrayList結構。製作一份列表,其中包含您創建用於存儲數據的數組或特殊結構。
3.(不推薦)轉到手動路由。如果您有一個固定長度的數組,您可以將這些行移回去除該行,並使用索引來定義最後一行。如果您有一個動態長度的數組,每次刪除一行時都需要重新構建它。

+0

謝謝我會考慮你的建議 – Carlo

相關問題