这在很大程度上取决于您要实现的目标:为了提高灵活性,哈希映射会更好。但是灵活性是有代价的:哈希映射比具有相同数量的强类型字段的类还要大和慢。
- 哈希映射比具有相同数量字段的类具有更大的内存占用量
- 哈希图会强制对基元进行装箱
- 哈希图的创建和访问速度较慢
可读性也会受到影响:当您的业务逻辑特定于具有固定数量字段的类时,显然会赢得一个特殊用途的类。当动态配置字段时,哈希表是您唯一的选择。您还可以采用混合设计,当一个对象在内部使用哈希图进行存储时,在外部显示命名良好的字段,并公开语义以在您使用时添加更多“字段”。
总而言之,在决定使用散列图以提高其灵活性之前,应确定是否真的需要设计中的所有灵活性。有时,答案是“是”,有时是“否”。没有“一刀切”的解决方案。



