2011-11-13 55 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

相关问题