[Java]CopyOnWriteArrayListのSetを探した(パフォーマンスとか)

CopyOnWriteArraySetなんてあったんですけど、なんかこいつパフォーマンスとか大丈夫か?とか心配になりませんか。ソース見てみると、hashCodeとか実装してあっても見ずに、内部に持ってるCopyOnWriteArrayListへ投げつけて、その中では全部のオブジェクトに対してequalsメソッド呼んで大丈夫なら追加、みたいな雰囲気。

あまり嬉しくないので、プリミティブ型で一意なIDを持つオブジェクトだったのでConcurrentHashMapを使う事にした。こっちに関してはそれほど調べてたりしてないけど問題なさげ。

うーん、ConcurrentSkipListSetとかが使えるんだろうか、日本語の情報があんまり見つからないのでConcurrentHashMapに逃げたけど。

CopyOnWriteArrayListに対応するHashMapがConcurrentHashMapって直感的でなくて暫く悩んだ。

カテゴリー: Java, プログラミング関連 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です