Map集合

来源:互联网 发布:php评论回复功能代码 编辑:程序博客网 时间:2024/06/06 03:45

一、Map
   AbastractMap
       HashMap
              LinkedHashMap
       TreeMap
       WeakHashMap
二、HashMap
    1、定义HashMap
       Map<K,V> map=new HashMap<K,V>();
       构造方法:初始容量16,最大值为2的30次方,默认加载因子0.75。
       这两个参数是影响HashMap性能的重要因素。
    2、常用方法:
       put(k,v) 添加一个元素
       get(k)   通过key获取Value
       remove(k) 通过key删除对应的键值对,返回值为Value
       size()   map的长度
       containsKey(K)  判断该K是否在map集合中,如何判断一个map中是否存在某个键  不能使用get(key)。
       containsValue(V)  判断该V是否在map集合中。
       putAll(map)     将一个map集合copy给两一个Map集合。 需要赋值的map.putAll(有值的map)。
       clear()  清空一个Map集合
       isEmpty() 判断一个map集合是否有键值对。
       values()  获取map集合的所有Value值,返回类型是Collection
    3、如何循环遍历(4种方法)
        a、keySet()+for循环
        b、keySet()+Iterator
        c、entrySet()+for循环
        d、entrySet()+Iterator

  //1、keySet + for循环的方法
  Set<String> keysSet = map.keySet();
  for(String key:keysSet){
   System.out.println("键:" + key + ",值:" + map.get(key));
  }
  System.out.println("……………………………………………………");
  //2、keySet + 迭代的方法
  Iterator<String> iterator = keysSet.iterator();
  while(iterator.hasNext()){
   String keyString = iterator.next();
   System.out.println("键:" + keyString + ",值:" + map.get(keyString));
  }
  System.out.println("………………………………………………………………");
  //3、entrySet() + for循环
  Set<Entry<String, String>> entrySet = map.entrySet();
  for(Entry<String, String> entry:entrySet){
   System.out.println("键:" +entry.getKey() + ",值:" +entry.getValue());
  }
  System.out.println("…………………………………………………………………");
  //4、entrySet() + 迭代的方法
  Iterator<Entry<String, String>> iterator2 = entrySet.iterator();
  while(iterator2.hasNext()){
   Entry<String, String> tempEntry = iterator.next();
   System.out.println("键:" + tempEntry.getKey() + ",值:" + tempEntry.getValue());
  }

0 0
原创粉丝点击