Map:
interface Map<K,V> K:键的类型;V:值的类型
特点:双列集合,一个键对应一个值,且键不可以重复,值可以。
方法:
| 方法名 | 说明 |
|---|---|
| V put(K key,V value) | 添加元素 |
| V remove(Object key) | 根据键删除键值对元素 |
| void clear() | 移除所有的键值对元素 |
| boolean containsKey(Object key) | 判断集合是否包含指定的键 |
| boolean containsValue(Object value) | 判断集合是否包含指定的值 |
| boolean isEmpty() | 判断集合是否为空 |
| int size() | 集合的长度,也就是集合中键值对的个数 |
| V get(Object key) | 根据键获取值 |
| Set<K> keySet() | 获取所有键的集合 |
| Collection<V> values() | 获取所有值的集合 |
| Set<Map.Entry<K,V>> entrySet() | 获取所有键值对对象的集合 |
Map的遍历:
方法一:map的keySet()方法
Map<String,Integer> map = new HashMap<>();
map.put("小白",18);
map.put("小黑",19);
map.put("小绿",20);
Set<String> strings = map.keySet();
for (String key : strings) {
Integer value = map.get(key);
System.out.println(key + "," + value);
}
结果:

方法二:map的entrySet()方法
Map<String,Integer> map = new HashMap<>();
map.put("小白",18);
map.put("小黑",19);
map.put("小绿",20);
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
for (Map.Entry<String, Integer> se : entrySet) {
String key = se.getKey();
Integer value = se.getValue();
System.out.println(key + "," + value);
}
结果同上。
HashMap集合
特点:
-
HashMap底层是哈希表结构的
-
依赖hashCode方法和equals方法保证键的唯一
-
如果键要存储的是自定义对象,需要重写hashCode和equals方法
TreeMap集合
特点:
-
TreeMap底层是红黑树结构
-
依赖自然排序或者比较器排序,对键进行排序
-
如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象时候给出比较器排序规则
本文详细介绍了Java中Map集合的特点及使用方法,包括HashMap与TreeMap的不同特性与应用场景,并提供了具体的遍历实例。
1231

被折叠的 条评论
为什么被折叠?



