如何使用对象字段从列表中删除对象

我有一个人对象的列表。现在我想删除一个对象,我只知道该对象的实例变量。

我的意思是我没有对象,我所能做的就是创建另一个具有相同字段值的对象。

显然,新对象不能用于删除原始对象,因为两者是不同的。

确实是一个非常愚蠢的问题。


万千封印
浏览 211回答 2
2回答

PIPIONE

循环遍历集合中的所有对象并将它们的值与已知值进行比较,一旦找到具有相同值的对象,将其删除并中断循环。就像是:String knownName = "Joe";for(Person person : personsCollection)    if(person.getName().equals(knownName)){        personsCollection.remove(person);        break;    }

心有法竹

这样做的正确方法是在 Person 类中实现 equals 方法,因此当您删除新对象并等于旧对象时,旧对象将从列表中删除。您可以根据应用程序中定义相等性的字段来实现 equals 方法,它可以是一些 id 或名称。例如:public boolean equals(Object obj) {    if (obj instanceof Person) {        return name.equals((Perrson)obj).name();    }    return false;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java