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,739評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 實際上,HashSet 和 HashMap 之間有很多相似之處,對于 HashSet 而言,系統采用 Hash 算...
    曹振華閱讀 2,524評論 1 37
  • 星哥,88年的,那時,高二第一學期分科,擁有不適合復雜邏輯運算大腦的我,自認為對歷史,地理感興趣的我,選擇文科。因...
    大荷08閱讀 281評論 0 0
  • tableView如何顯示數據設置dataSource數據源數據源要遵守UITableViewDataSource...
    HFY_Code閱讀 213評論 0 0