【问题标题】:How to remove a selected object from an array? [duplicate]如何从数组中删除选定的对象? [复制]
【发布时间】:2013-04-24 19:23:03
【问题描述】:

给定一个包含 n 个对象的数组,假设是一个字符串数组,它具有以下值:

foo[0]="a";
foo[1]="cc";
foo[2]="a";
foo[3]="dd";

我必须怎么做才能删除某个字符串/对象? 谢谢!

【问题讨论】:

  • 删除是什么意思?
  • 说真的,这个问题几乎逐字逐句地重复。
  • 嗯,连例子都一样。这是什么?复制旧问题的机器人?
  • 可以通过ArrayList轻松完成

标签: java arrays


【解决方案1】:

在数组中,你不能按照你的意思删除对象(你可以用 null 替换它们,但我不认为这就是你的意思。数组是一系列盒子,你可以在每个盒子里放任何东西,但你不能把一个盒子拿出来,然后用胶带把剩下的粘在一起

另一方面,ArrayList 具有 .add 和 .remove 方法,可让您从中删除某个对象。

查看这个 arrayList 如何工作的示例

   public static void main(String args[]) {
        ArrayList<String> list=new ArrayList<String>();
        list.add("zero");
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");

        list.remove(2); //remove by index 
        list.remove("three");

        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
   }

如果一个特定的函数真的需要一个数组,有一些方法可以转换回一个数组

    String[] array=new String[list.size()];

    list.toArray(array); //fills array with contents of list

    for(int i=0;i<array.length;i++){
        System.out.println(array[i]);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2012-06-17
    • 2011-03-24
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    相关资源
    最近更新 更多