Map集合

来源:互联网 发布:json解析html标签 编辑:程序博客网 时间:2024/06/15 19:11
/*Map集合:该集合存储键值对,成对出现,而且要保证键值的唯一性。1、添加put(K key, V value)putAll(Map<? extends K,?extends V> m )2、删除clear()remove(Object key)3、判断containsKey(Object key)containsValue(Object value)isEmpty()4、获取get(Object key)size();values()重点取出防方法:1、Set<Map.Entry<k,v>>  entrySet():将M安排集合中的映射关系存入到set集合中,而关系的类型就是Map.Engtry2、keySet():将Map中所有的键存入Set集合,因为Set集合具有Iterator,所以可以通过迭代方式取出所有的键,然后根据get方法获取每个键值的值.Map集合的原理,就是转换为Set集合,通过迭代器Map:1、Hashtable“此类实现一个哈希表数据结构,不可以存空键和空值。线程同步(JDK1.0出现)效率低2、HashMap<K,v>:底层是哈希表数据结构,并允许使用空键和空值,该集合不同步。效率高3、TreeMap:底层是二叉树,线程不同步,可以用于给map集合中的键值排序。和Set集合很像,Set底层就是用了Map集合。*/import java.util.*;class  MapDemo{public static void main(String[] args) {Map<String,String> map = new HashMap<String,String>();//  添加值,如果出现相同的键,则后添加的覆盖前面的,且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<String> pSet =map.keySet();//有了Set集合,获取迭代器Iterator<String> it =pSet.iterator();while(it.hasNext()){//通过get方法获取值System.out.println(map.get(it.next()));}//将Map集合的关系取出,存入Set集合中Set<Map.Entry<String,String>> entrySet = map.entrySet();Iterator<Map.Entry<String,String>> pIt = entrySet.iterator();while(pIt.hasNext()){Map.Entry<String,String> 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();}}

0 0