Object (メンバー変数として 2 つの String オブジェクトを持つ) と、3 つの異なる String を含む Object としての値を持つ HashMap があります。
言う:
Map<ReqDTO , RespDTO> map = new HashMap<ReqDTO ,RespDTO> ();
次の値があるとします:
キー値 1 ("str1","1") - ("1","2","3") 2 ("str2","2") - ("a","b","c") 3 ("str3","3") - ("1","2","3") 4 ("str4","4") - ("v","b","g") 5 ("str5","5") - ("1","2","3")
そのようなレコードが何千もある場合 (これは私のアプリケーションではキャッシュです)、レコード番号の VALUE 部分: 1,3,5 は 3 つのオブジェクトのメモリを保持しています。1,3,5 レコードの KEYS を作成して、別のメモリとしてではなく、VALUES (この場合は 1,2,3 ) の同じインスタンスを指すようにします。
HashMap に同じバリアントはありますか? または他のデータ構造が行います..
注:一度だけロードされ、これに対して実行されるすべての操作は読み取り専用です。パフォーマンスを集中的にするためにデータ構造を優先する必要があります。つまり、挿入にコストがかかる可能性があります。