エントリの値の属性に基づいてエントリのセットを削除するための、高速で信頼できる方法/アプローチがありますか。アプローチの下では、望ましくない項目をすべてループします。 例えば:ConcurrentHashMapの - エントリが追加のデータ構造を利用することなく、代わりにマップを変異のない良い方法はありません、何百万マップ内のエントリのセットを削除するための最善の方法
Iterator<Map.Entry<String, POJO>> iterator = map.entrySet().iterator();
for (Iterator<Map.Entry<String, POJO>> it = iterator; it.hasNext();) {
Map.Entry<String, POJO> entry = it.next();
POJO value = entry.getValue();
if (value != null && *attribute*.equalsIgnoreCase(value.getAttribute())) {
it.remove();
}
}
によってあなたのための別のです。したがって、特定の属性を持つPOJO識別子を追跡するための別のデータ構造を持つことができます。または、属性別にデータを分割する異なるマップを持つことができます。しかし、これを簡単にすることは複雑になります。アプリケーションでボトルネックと判断しましたか? –