/*Map集合:该集合存储键值对,成对出现,而且要保证键值的唯一性。 1、添加 put(K key, V value) putAll(Map m ) 2、删除 clear() remove(Object key) 3、判断 containsKey(Object key) containsValue(Object value) isEmpty() 4、获取 get(Object key) size(); values()重点取出防方法:1、Set > entrySet():将M安排集合中的映射关系存入到set集合中,而关系的类型就是Map.Engtry2、keySet():将Map中所有的键存入Set集合,因为Set集合具有Iterator,所以可以通过迭代方式取出所有的键, 然后根据get方法获取每个键值的值. Map集合的原理,就是转换为Set集合,通过迭代器Map:1、Hashtable“此类实现一个哈希表数据结构,不可以存空键和空值。线程同步(JDK1.0出现)效率低2、HashMap :底层是哈希表数据结构,并允许使用空键和空值,该集合不同步。效率高3、TreeMap:底层是二叉树,线程不同步,可以用于给map集合中的键值排序。和Set集合很像,Set底层就是用了Map集合。*/import java.util.*;class MapDemo{ public static void main(String[] args) { Map map = new HashMap (); // 添加值,如果出现相同的键,则后添加的覆盖前面的,且put方法返回被覆盖的值。 map.put("1","zhangsan"); map.put("2","ljads"); map.put("3","fads"); System.out.println("containsKey:" + map.containsKey("2")); //System.out.println("remove:" + map.remove("2")); System.out.println("get:" + map.get("2")); //键值不存在返回空null,注意HashMap中键值或值为空,获取都是返回null // 先获取map集合中的所有键值的Set集合 Set pSet =map.keySet(); //有了Set集合,获取迭代器 Iterator it =pSet.iterator(); while(it.hasNext()) { //通过get方法获取值 System.out.println(map.get(it.next())); } //将Map集合的关系取出,存入Set集合中 Set > entrySet = map.entrySet(); Iterator > pIt = entrySet.iterator(); while(pIt.hasNext()) { Map.Entry mn = pIt.next(); String key = mn.getKey(); String value = mn.getValue(); System.out.println("key:" + key + " value:" + value); } }}/*Map.Entry中Entry也是一个借口,它是Map接口中的一个内部接口*/interface Map{ public static interface Entry { public abstract Object getKey(); public abstract Object getValue(); }}