从android中的String数组中删除一个元素

Mad*_*tha 8 java arrays string android

我正在做一个简单的android应用程序.我正在使用以下代码从数组中删除一个元素.

 arr_fav = {"1","2","3"};
 for(int i= 0;i<arr_fav.length;i++)
 {
     if(current_id == Integer.parseInt(arr_fav[i]))
     {
        arr_fav[1] = null;
     } }
Run Code Online (Sandbox Code Playgroud)

通过这样做我得到像arr_fav = {"1",null,"3"}的数组.但我想要像arr_fav = {"1","3"}.如何删除元素.这个Android开发的新手请帮我解决这个问题.

Ram*_*ran 18

最好使用arraylist

arr_fav = {"1","2","3"};
List<String> numlist = new ArrayList<String>();
for(int i= 0;i<arr_fav.length;i++)
{
 if(current_id == Integer.parseInt(arr_fav[i]))
 {
   // No operation here 
 }
 else
 {
     numlist.add(arr_fav[i]);
 }
}
 arr_fav = numlist .toArray(new String[numlist .size()]);
Run Code Online (Sandbox Code Playgroud)


Bri*_*ach 10

你没有.

数组无法调整大小.

您需要创建一个新的(较小的)数组,并将您希望保留的元素复制到其中.

更好的想法是使用List动态的实现.一个ArrayList<Integer>例如.

  • 亲爱的领主,**当你评论**时我正在编辑,这是我发布你抱怨的修订版后约30秒.没有尝试成为Ranger Rick,你可以简单地说"嘿,那不是*完全正确". (2认同)

Juv*_*nis 5

Java中的数组不是动态的,您可以使用它ArrayList.