如何从数组中删除选定的对象?

时间:2013-04-30 19:09:24

标签: java arrays

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

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

删除某个字符串/对象需要做什么? 谢谢!

1 个答案:

答案 0 :(得分: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]);
    }