CopyOnWriteArraySetなんてあったんですけど、なんかこいつパフォーマンスとか大丈夫か?とか心配になりませんか。ソース見てみると、hashCodeとか実装してあっても見ずに、内部に持ってるCopyOnWriteArrayListへ投げつけて、その中では全部のオブジェクトに対してequalsメソッド呼んで大丈夫なら追加、みたいな雰囲気。
あまり嬉しくないので、プリミティブ型で一意なIDを持つオブジェクトだったのでConcurrentHashMapを使う事にした。こっちに関してはそれほど調べてたりしてないけど問題なさげ。
うーん、ConcurrentSkipListSetとかが使えるんだろうか、日本語の情報があんまり見つからないのでConcurrentHashMapに逃げたけど。
CopyOnWriteArrayListに対応するHashMapがConcurrentHashMapって直感的でなくて暫く悩んだ。