1 map集合
interface Map<K,V> K:键的类型;V:值的类型
是一个接口,用实现类实现
Map<T,V> map = new HashMap<T,V>();
2 map特点
1.键值对映射关系
2.一个键对应一个值
3.键不能重复,值可以重复
4.元素存取无序
3 map的方法介绍
创建以及添加
Map<String,String> map= new HashMap<String,String>();
// V put(K key,V value) 添加元素
map.put("001","wang");
map.put("002","jia");
map.put("003","zhang");
map.put("004","wu");
map.put("004","wu01");//再次出现被覆盖,只能有一个相同的健
删除键值对元素
// V remove(Object key) 根据键删除键值对元素
System.out.println(map.remove("004"));//返回值为删除的元素的value
//running: wu01
移除所有的键值对元素
map.clear();//谨慎使用
判断集合是否包含指定的键
System.out.println(map.containsKey("001"));
//true
System.out.println(map.containsKey("005"));
//false
判断集合是否包含指定的键
System.out.println(map.containsValue("wang"));
//true
判断集合是否为空
// boolean isEmpty() 判断集合是否为空
System.out.println(map.isEmpty());
//false
根据键获取值
// V get(Object key) 根据键获取值
System.out.println(map.get("002"));
//jia
获取所有键的集合
// Set keySet() 获取所有键的集合
Set<String> set = map.keySet();
for (String s:set){
System.out.println(s);
}
//001
//002
// 003
获取所有值的集合
// Collection values() 获取所有值的集合
Collection<String> values = map.values();
for (String v:values)
{
System.out.println(v);
}
//wang
//jia
//zhang
集合的长度
// int size() 集合的长度,也就是集合中键值对的个数
System.out.println(map.size());
//3
4 map遍历方式
方式一:
//遍历map
Set<String> set1 = map.keySet();
for (String s:set1){
String value=map.get(s);
System.out.println(value+s);
}
// wang001
// jia002
// zhang003
方式二:
// Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> s:entries){
System.out.println(s.getKey()+s.getValue());
}
// 001wang
// 002jia
// 003zhang
方式三:
输出:
System.out.println(map);
//{001=wang, 002=jia, 003=zhang}
备注:不能通过value(值)遍历map集合
Collection<String> values1 = map.values();
for (String v:values1)
{
String key=map.get(v);
System.out.println(key);
}
//null
//null
//null