2 つのキーを持つマップが必要です。
Map2<String /*ssn*/, String /*empId*/, Employee> _employees;
私ができるように
_employees.put(e.ssn(), e.empId(), e)
以降
_employees.get1(someSsn);
_employees.get2(someImpId);
あるいは
_employees.remove1(someImpId);
なぜ2つに止めたいのか、それ以上にしないのか、おそらくそれが私が今必要としているケースだからです:-)しかし、タイプはタイプセーフであるために固定数のキーを処理する必要があります-タイプパラメータはできませんvararg :-)
なぜこれが悪い考えなのかについての指針やアドバイスをいただければ幸いです。