Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:arraylist.contains&;移除不工作的组件_Java_Arraylist_Contains - Fatal编程技术网

java:arraylist.contains&;移除不工作的组件

java:arraylist.contains&;移除不工作的组件,java,arraylist,contains,Java,Arraylist,Contains,我在Java中有一个ArrayList,其中包含对象,这些对象由一个字符串名和一个数字组成 我想检查一下列表中是否有两个对象,然后更新其中一个对象的数量,然后删除另一个对象,这样下次就不会计算了 我已经知道它是如何工作的,但我有一个大问题,两种方法,“包含”和“删除”都不能处理我想要处理的对象。 对于expamle,我想删除第一个包含名称XXXX的对象,它根本不会删除该对象。 这两种方法似乎不是为自制的对象而设计的 是否有方法重写remove and contains方法? Eclipse在这里

我在Java中有一个ArrayList,其中包含对象,这些对象由一个字符串名和一个数字组成

我想检查一下列表中是否有两个对象,然后更新其中一个对象的数量,然后删除另一个对象,这样下次就不会计算了

我已经知道它是如何工作的,但我有一个大问题,两种方法,“包含”和“删除”都不能处理我想要处理的对象。 对于expamle,我想删除第一个包含名称XXXX的对象,它根本不会删除该对象。 这两种方法似乎不是为自制的对象而设计的

是否有方法重写remove and contains方法? Eclipse在这里对自动生成的内容没有帮助

顺便说一句:我已经为我列表中的对象定义了一个自己的“equals”方法,该方法工作起来没有任何问题(我一直认为arraylist方法会利用对象方法)

谢谢。

equals()
hashCode()
方法应始终同时提供

查看
equals()
hashCode()
方法应始终同时提供


查看

一段代码值千言万语当您定义equals方法时,您还需要定义有效的hashcode实现。我强烈怀疑您缺少hashcode部分。发布相关代码。你能在ArrayList失败的地方发布你的代码吗?只是检查一下,但你使用的是java.util.ArrayList,对吗?不是你自己的ArrayList?如果你是,这需要一个完全不同的讨论。另外,如前所述,请将代码粘贴到中。如果我们能看到发生了什么,我们可以帮忙。如果我们看不见,我们只能推测。一段代码值一千个单词。当您定义equals方法时,您还需要定义有效的hashcode实现。我强烈怀疑您缺少hashcode部分。发布相关代码。你能在ArrayList失败的地方发布你的代码吗?只是检查一下,但你使用的是java.util.ArrayList,对吗?不是你自己的ArrayList?如果你是,这需要一个完全不同的讨论。另外,如前所述,请将代码粘贴到中。如果我们能看到发生了什么,我们可以帮忙。如果我们看不见,我们只能推测。