Map.Entryを実装する値として使用するクラスを持つことを考えていました。これは合理的なアプローチのように見えますか、それは危険なようですか?
危険であるか否かにかかわらず、単一責任の原則に違反するので、それは悪い設計です。クラスは、独自のものを行うこと、またMap.Entryであることに責任を持つべきではありません。別のライブラリで使用したい場合はどうなりますか?別のインターフェースを実装する必要がありますか?
Map.Entry
( AbstractMap
を拡張しようとしていますか?)を実装して得たいと思っているものはわかりませんが、これは私にとって悪いことですそれが実際に行われたことは一度も見たことがない。
実際の問題は何ですか? HashMap
を使用すると何が問題になりますか?
Map map = new HashMap();
MyClass myObj = new MyClass("myId");
//...
map.put(myObj.getIdentifier(), myObj);
MyClass retrievedObj = map.get("myId");