我正在与其他人一起开展一个休闲项目,需要一个支持FIFO的Java集合类型(先进先出),并且只允许使用唯一元素(元素实际上只有equals()方法的对象 - 没有范围对于可比较的()方法)。
由于项目限制,我无法实现hashCode()方法 - 无法编辑集合解决方案将包含的对象类以添加任何其他方法。
我一直在寻找并且不能为我的生活找到一个解决方案,不涉及LinkedHashSet或涉及我编辑元素对象类的任何事情。
答案 0 :(得分:0)
您可以扩展LinkedList类(或保留顺序的任何其他集合)并覆盖add()方法。在重叠方法中,对集合中的所有其他项进行equals()检查。如果它通过,请调用super.add()。