如何解决由于多线程而将对象添加到集合中两次的问题?

How can I fix the issue of an Object being added twice to a Set because of Multithreading?

所以我的 HashSet 出现了这个问题。

我正在从主线程和 FX8 线程修改它,现在一些对象被添加了两次。 任何人都知道如何解决这个问题?非常感谢任何帮助!

HashSets 不是线程安全的。这个稍旧的线程对线程安全集进行了很好的讨论:Different types of thread-safe Sets in Java

我首先要确保您使用的是线程安全的 Set 实现,然后确保您的对象根据所描述的内容实现 hashcodeequals 方法这里https://www.geeksforgeeks.org/equals-hashcode-methods-java/