Map<K,V>集合:该集合存储键值对,是一对一对,保证键值唯一性
1、增加
put(K key,V value)---put会返回原来的值
putAll(Map<? extends K,? extends V>)
2、删除
claer();
remove(obj key)
3、判断
boolean containsKsy(obj key)
biilean containsValue(obj value)
4、获取
get(obj key)
size()长度
values()获取
entrySet()
keySet()
Map
---HashTab:底层是哈希表数据结构,不可以存入null键null值,该集合是线程同步,效率低
---HashMap:底层是哈希表数据接口,允许使用null键null值,该集合是不同步的,效率高
---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序
class MapDemo{
public static void main(String args[])
{
Map<String,String> map = new HashMap<String,String>
//添加元素如果出现相同的键,后添加的值会添加原有的键对应的值
//并put方法会返回被覆盖的值
System.out.println( map.put("01","s1"));---打印null
System.out.println(map.put("01","ssss"));---打印s1
map.put("02","s2");
map.put("03","s3");
map.containsKey("002");
map.remove("02");
map.get("03");---获取值,判断是否存在
map.put(null,"sss");
map.get(null);
map.put("05",null);
map.get("05");
Collection<String> co =map.values();---将获取到的值传给集合
}
}
Map的取出方式
1.keyset<K>:将map中所有的键存入到set集合。因为set具备迭代器
所有可以迭代方式取出的所有的键,再根据get方法,获取每一个键对 应的值
先获取map集合的所有键的Set集合,keySet();
Map<String,String> map = new HashMap<String,String>
Set<String> keySet = map.keySet();
Iterator<String> it =keySet.iterator();
while(it.hasNext())
{
String key = it.next();
有了键可以通过map集合的get方法获取对应的值
String value =map.get(key);
System.out.println(key+value);
}
2、Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是:Map.Entry(Set集合中的实例对象)
Map<String,String> map = new HashMap<String,String>
Set<Map.Entry<String,String>> entrySet = map.entrySet();--将map集合中的映射关系取出
Iterator<Map.Entry<String,String>> it =
entrySet.iterator();
while(it.hasNext())
{
Map.Entry<String,String> me =it.next();---关系对象
String key= me.getKey();--获取键
String value=me.getValue();--获取值
}