java – 为什么hashmap比hashset快?
我一直在阅读/搜索为什么hashmap比hashset快的原因
我不太了解以下声明. > HashMap比hashset快,因为这些值与唯一键相关联 所以让我结束我的问题 >我以为hashmap和hashset是以相同的方式计算哈希码,为什么 HashMap <Object1,Boolean>= new HashMap<Object1,boolean>(); map.put("obj1",true); => exist map.get("obj1"); =>if null = not exist,else exist 解决方法
性能:
如果您查看HashSet的源代码(至少为JDK 6),则在内部使用HashMap,因此它基本上完全符合您在使用示例代码所做的工作. 所以,如果你需要一个Set实现,你可以使用HashSet,如果你需要一个Map – HashMap.使用HashMap代替HashSet的代码将具有与直接使用HashSet完全相同的性能. 选择正确的集合 地图 – 将键映射到值(关联数组) – http://en.wikipedia.org/wiki/Associative_array. Set – 不包含重复元素的集合 – http://en.wikipedia.org/wiki/Set_(computer_science). 如果你需要的唯一的东西是检查一个元素是否存在 – 使用Set.您的代码将更清晰,更易于理解. 如果您需要为您的元素存储一些数据 – 使用地图. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |