HashMap和Object

HashMap and Object

最近做了一个关于数据统计的项目,频繁地使用的HashMap来做存取,觉得特别不方便。每次取数据需要十分关注Map的key值是否写对,经常因为key值某个字母大小写的问题导致取出数据为null。同时因为需要存储不同的对象,所以用Map<String, Object>的方式进行存储,导致每次取数据的时候又需要对value进行强制转换。

项目做完之后,有在思考,直接使用一个对象来存储这些数据是否更方便。上网查了HashMap和Object的对比,下面简要说明一下。

原文见:stackoverflow链接

HashMap优势:

灵活

Object优势:
  • 对于相同数量的域,HashMap需要比Object占用更多的内存
  • 对于基础类型,HashMap强制进行装箱
  • HashMap创建和访问比Object更慢
  • HashMap可读性差

总结:如果业务逻辑需要固定数据的域,那么拥有特殊目的的类明显胜过一筹。如果域是通过动态配置的,那么使用HashMap更加明智。当然可以使用混合设计,一个对象使用HashMap作为内部存储,暴露一些方法来增加更多的域。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算...
    曹振华阅读 2,528评论 1 37
  • 星哥,88年的,那时,高二第一学期分科,拥有不适合复杂逻辑运算大脑的我,自认为对历史,地理感兴趣的我,选择文科。因...
    大荷08阅读 283评论 0 0
  • tableView如何显示数据设置dataSource数据源数据源要遵守UITableViewDataSource...
    HFY_Code阅读 215评论 0 0