当前位置: 首页 > 面试题库 >

如何从数组中删除元素

滕胜涝
2023-03-14
问题内容

我有一个数组例如:

String [][] test = {{"a","1"},
                    {"b","1"},
                    {"c","1"}};

谁能告诉我如何从数组中删除一个元素。例如,我要删除项目“ b”,以使数组如下所示:

{{"a","1"},
 {"c","1"}}

我找不到解决办法。到目前为止,我在这里发现的内容不适用于我:(


问题答案:

您不能从数组中删除元素。Java数组的大小是在分配数组时确定的,不能更改。您能做的最好的事情是:

  • null在相关位置分配给数组;例如
    test[1] = null;
    

这给您带来了处理null值所在数组中的“孔”的问题。(在某些情况下,这不是问题……但是在大多数情况下,这是一个问题。)

  • 创建一个删除了元素的新数组;例如
        String[][] tmp = new String[test.length - 1][];
    int j = 0;
    for (int i = 0; i < test.length; i++) {
        if (i != indexOfItemToRemove) {
            tmp[j++] = test[i];
        }
    }
    test = tmp;

Apache Commons ArrayUtils类具有一些静态方法,这些方法可以更轻松地完成此操作(例如Object[] ArrayUtils.remove(Object[],int),但事实是这种方法会创建一个新的数组对象。

更好的方法是使用合适的Collection类型。例如,ArrayList类型具有一种方法,该方法使您可以删除给定位置的元素。



 类似资料:
  • 问题内容: 如何使用Apple的新语言Swift取消设置/删除数组中的元素? 这是一些代码: 如何从数组中删除元素? 问题答案: 该关键字是声明不能改变的常量。如果要修改变量,则应改用,例如: 一个使原始集合保持不变的非变异替代方法是用于创建一个新集合,而无需删除想要删除的元素,例如:

  • 问题内容: var arr = [1,2,3,5,6]; 删除第一个元素 我想删除数组的第一个元素,使其变为: 删除第二个元素 扩展这个问题,如果我想删除数组的第二个元素以使其变为: 问题答案: 要获得更灵活的解决方案,请使用该功能。它允许您根据索引值删除数组中的任何项目:

  • 问题内容: 当我知道元素名称时,如何从数组中删除元素?例如: 我有一个数组: 用户输入 已移除。 要充分说明: 我有一个数据库,该数据库存储用逗号分隔的项目列表。该代码根据用户选择所在的位置来提取列表。因此,如果他们选择草莓,则会在草莓所在的每个条目中进行代码提取,然后使用split()将其转换为数组。我想让他们从数组中删除用户选择的项目(例如此示例草莓)。 问题答案: 使用拿到钥匙,并删除它一旦

  • 问题内容: 我试图从数组中删除元素,以便在视图中删除项目 仅出于说明目的,下面是一些代码: 如果名称正确,我想从视图中删除第一个元素吗?它工作正常,但视图会重新加载所有元素。因为所有阵列键均已移动。这在我正在创建的移动应用程序中造成了不必要的延迟。 有人对此问题有解决方案吗? 问题答案: 从数组中删除项目没有火箭科学。要从任何数组中删除项目,您需要使用:。这是一个例子: 的HTML 的JavaSc

  • 我想在创建以下2d阵列后删除一个元素。它应该是数组的最后一个元素。

  • 问题内容: 有什么快速(好看的)方法可以从Java中的数组中删除元素? 问题答案: 你可以使用的。