gpt4 book ai didi

java - 如何从数组中删除元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:47 24 4
gpt4 key购买 nike

例如我有一个数组:

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 类型有一个方法允许您删除给定位置的元素。

关于java - 如何从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com