HashMap
HashMap
是 Java 中最常用的集合之一,它基于哈希表实现,存储键值对。
- 特点:
- 无序:元素的存储顺序不固定,不保证插入顺序。
- 查找、插入和删除操作的平均时间复杂度为 O(1)。
- 适用场景:
- 当需要快速的查找、插入和删除操作,且不关心元素顺序时。
- 示例代码:
HashMap<String, Integer> map = new HashMap<>(); map.put("apple", 5); map.put("banana", 3);
LinkedHashMap
LinkedHashMap
继承自 HashMap
,在其基础上维护了元素的插入顺序或者访问顺序。
- 特点:
- 有序:可以按照元素的插入顺序或者访问顺序进行遍历。
- 查找、插入和删除操作的时间复杂度与
HashMap
类似。
- 适用场景:
- 当需要按照插入顺序或者访问顺序遍历元素时。
- 示例代码(按照插入顺序):
LinkedHashMap<String, Integer> linkedMap = new LinkedHashMap<>(); linkedMap.put("apple", 5); linkedMap.put("banana", 3);
- 示例代码(按照访问顺序,需要设置参数):
LinkedHashMap<String, Integer> accessOrderMap = new LinkedHashMap<>(16, 0.75f, true); accessOrderMap.put("apple", 5); accessOrderMap.put("banana", 3); // 访问元素 accessOrderMap.get("apple");
例如,在一个购物车的实现中,如果希望按照用户添加商品的顺序展示商品列表,就可以使用 LinkedHashMap
;而如果只是简单地存储商品及其数量,不关心顺序,使用 HashMap
即可。