Java 如何在android中从arraylist中删除元素

Java 如何在android中从arraylist中删除元素,java,Java,无法删除对象。如何从arraylist中删除对象 我的代码 在java中,遍历列表时从列表中删除项目的唯一方法是通过迭代器。解决方案 从kisi类中的成员变量中删除statics 但也要注意 new kisi("1","betül") 因此,您的id是一个字符串 当您查看比较ID的列表时,请使用=进行比较 java中的=是相同的比较,而不是相等的比较。这与C#say中字符串的行为不同 所以你应该做的是: for (int i = 0; i < x.size(); i++) { if

无法删除对象。如何从arraylist中删除对象

我的代码
在java中,遍历列表时从列表中删除项目的唯一方法是通过迭代器。

解决方案

kisi
类中的成员变量中删除
static
s

但也要注意

new kisi("1","betül")
因此,您的
id
是一个
字符串

当您查看比较ID的列表时,请使用
=
进行比较

java中的
=
相同的比较,而不是相等的比较。这与C#say中字符串的行为不同

所以你应该做的是:

for (int i = 0; i < x.size(); i++) {
  if (x.get(i).id.equals(k.id)) { //change here
    Object obj = x.remove(i);
    break;
  }
}
这样的构造函数将在不调用
.equals
的情况下中断代码:

public kisi(String id, String string2) {
  this.id = id + string2;
}  

要在遍历列表时安全地从列表中删除元素,需要使用迭代器。否则你可能会得到奇怪的结果


那么这是什么:或者为什么在他的情况下不起作用?@weston请回顾一下你似乎在说你必须使用
迭代器和
迭代器。如果你想在浏览列表时删除,请删除。这不是真的。这不是一个坏建议,但它不是唯一的方法。当代码运行时,它没有输入if语句。当我编写列表元素时,它只写了三分之一的元素。发布你的
kisi
类的构造函数。你需要编辑问题来添加它。在那里有一个注释,所以我不知道在哪一行。啊,好的:从
kisi
类中的成员变量中删除
static
s。我想写列表元素。每个迭代器只显示第二个元素。for(kisi-kisi:x){Toast.makeText(getApplicationContext(),“eleman”+kisi.ad,Toast.LENGTH\u LONG)。show()}发布
kisi
类的构造函数。
for (int i = 0; i < x.size(); i++) {
  if (x.get(i).id.equals(k.id)) { //change here
    Object obj = x.remove(i);
    break;
  }
}
public class kisi {    
  public String id;    
  public kisi(String id, String string2) {
    this.id = id;
  }    
}
public kisi(String id, String string2) {
  this.id = id + string2;
}