一、Map集合的特点:
Map集合的特点:
1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)
2.Map集合中的元素,key和value的数据类型可以相同,也可以不同
3.Map中的元素,key不允许重复,value可以重复
4.Map里的key和value是一一对应的。
5.主要的实现类有HashMap,LinkedHashMap,TreeMap,HashTable
二、Map中的方法:
1.public V put(K key,V value)把指定的键和值添加到Map集合中,返回值是V
如果要存储的键值对,key不重复返回值V是null
如果要存储的键值对,key重复返回值V是被替换的value值
2.public V remove(Objectkey)把指定键所对应的键值对元素,在Map集合中删除,返回被删除的元素的值。返回值:V 。如果key存在,返回被删除的值,如果key不存在,返回null
3.public V get(Object key):根据指定的键 在Map集合中获取对应的值
如果key存在,返回对应的value值,如果key不存在,返回null
4.void clear():清空所键值对元素
5..booleancontainsKey(Object key)判断集合中是否包含指定的键
包含返回true,不包含返回false
6.containsValue(Objectvalue):是否包含指定的值
包含返回true,不包含返回false
7.isEmpty():是否为空
为空返回true,不为空返回false
8.int size():获取集合元素的个数
9.Collectionvalues():获取所值的集合
10.Set keySet():获取所键的集合
三、遍历Map集合的方式
1.通过键找值的方法;
使用了keySet方法,将Map集合中的key值,存储到Set集合,用迭代器或foreach循环遍历Set集合来获取Map集合的每一个key,并使用get(key)方法来获取value值
四、示例代码:
import java.util.Collection;
import java.util.HashMap;
public class Demo {
public static void main(String[] args) {
// 创建map集合
HashMap<Integer, String> map = new HashMap<>();
// 添加元素
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
System.out.println("1-初始化map-" + map);
// 键有重复值发生覆盖
System.out.println("2-c覆盖key4,不重复-" + map.put(4, "c"));
System.out.println(map);
System.out.println("2-d覆盖key4,重复-" + map.put(4, "d"));
System.out.println(map);
// 通过键删除整个键值对
System.out.println("3-删除key2,key2存在-" + map.remove(2));
System.out.println(map);
System.out.println("3-删除key2,key2不存在-" + map.remove(2));
System.out.println(map);
// 通过键获取值
System.out.println("4-key3取value-" + map.get(3));
System.out.println("4-key5取value-" + map.get(5));
// 判断是否为空
System.out.println("6-map为空?-" + map.isEmpty());
// 清空
map.clear();
System.out.println("5-清空map-" + map);
// 判断是否为空
System.out.println("6-map为空?-" + map.isEmpty());
// 是否包含key
System.out.println("7-map含key4?-" + map.containsKey(4));
// 是否包含"b"
System.out.println("8-map含b?-" + map.containsValue("b"));
// 集合元素个数
System.out.println("9-map元素个数-" + map.size());
// 添加元素
map.put(11, "aa");
map.put(12, "bb");
map.put(13, "cc");
// 获取所有value组成的集合,打印输出
System.out.println("10-map所有value-" + map);
Collection<String> s = map.values();
for (String value : s) {
System.out.println(value);
}
// 获取所有key组成的集合,打印输出
System.out.println("11-map所有key-" + map);
for (Integer key : map.keySet()) {
System.out.println(key + "-" + map.get(key));
}
}
}
运行结果: