如何从String数组中删除一个值,并减少它的长度

时间:2011-11-13 03:50:19

标签: java arrays

我不明白如何减少String数组的长度。例如,使用以下代码:

String[][] array = new String[5][2];

array[1][0] = "what";
array[2][0] = "is";
.....
.....
array[5][0] = "?";

如何删除array[5][0]并将array.length设为4而不是5?

2 个答案:

答案 0 :(得分:2)

您无法从数组中删除项目。

但是您可以创建一个较小的新数组,并将旧数组的内容复制到新数组。然后,将引用的值赋给新数组。

考虑使用java.util.List。它有一个方法remove()

答案 1 :(得分:0)

使用数组进行此类操作非常耗时。我可以建议这些解决方案:
1.使用Java库提供的数据结构之一。我会使用HashMap,因为它的结构允许将值映射到键(HashMap),它可以添加,查找和删除项目。您还可以将它们用于多级哈希映射,如果您需要超过2列(HashMap),您可以查看它。
2.使用List或ArrayList结构。创建一个包含数组的列表或您创建的用于存储数据的特殊结构 3.(不推荐)转到手动路线。如果您有一个固定长度的数组,则可以将行移回以删除该行,并使用索引来定义最后一行。如果您有动态长度数组,则每次删除行时都需要重新构建它。