ConcurrentHashMap の実装方法を理解するために、 IBM DeveloperWorks の記事を読んでいました。「削除操作」のセクションでは、削除操作が 2 段階のプロセスであることが示唆されています。
- Entry 要素を見つけて null にする
- ヘッドから削除された要素までのチェーンの部分が複製され、削除された要素に続くチェーンの残りの部分に結合されます。
ただし、ここで質問があります。Docjarで対応するコードを調べたところ、remove(Object key, int hash, Object value)
.
何かが足りないのか、それとも実装が記事と異なるのかよくわかりません。