如何根据每个队列的内容值看两个Java队列是否相等?
我想实现一个equals的覆盖,它根据它们比较两个
Java Queue对象,每个对象的内容都相等(按值).
我可能会破解一些代码,但肯定有人已经优雅地解决了这个问题.谷歌搜索没有出现任何结果,所以我接下来来到这里. 我很感激任何建议.我也需要对ArrayList和HashMap集合做同样的事情. 顺便说一下,对于equals(),我用它作为我的指南:http://www.javapractices.com/topic/TopicAction.do?Id=17 它提供了一些提示,但显然我需要更多的帮助来收集.集合中包含的类型根据该链接的建议覆盖equals(). 解决方法
java.util.Queue的JavaDoc已经说明了问题:
因此,如果要根据包含的对象进行操作,则需要为自己的用例实现逻辑(或重用某些库). 例如.对于ArrayList,您只需调用ArrayList.equals(). 对于队列,我会采用实用的方法将它们转换为使用例如数组的数组. java.util.concurrent.LinkedBlockingQueue.toArray()然后使用Arrays.equals(queue1AsArray,queue2AsArray); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |