Java Map接口

Map接口: -----HashMap: 主要的Map实现类(允许使用null-null为key-value);

                  -----LinkedHashMap: 链表维护

                   -----TreeMap: 按照添加进Map中的元素的key的指定属性进行排序

                                         (同TreeSet,自然排序与定制排序,不过是针对key)

                                           因此要求key的元素是同一个类的对象。

                   -----Hashtable(古老的实现类不常用,不允许使用null-null为key-value,但是子类Properties用得到)

                                -------子类Properties(常用来处理属性文件,key-vlaue均为String类型)

Map 常用方法:
    Object put(Object key,Object value):向Map中添加一个元素
    Object remove(Object key):按照指定的Key删除此key-value
    void putAll(Map t)
    Object get(Object key)
    void clear(): 清空
    int size()
    boolean isEmpty()
    boolean equals(Object obj)
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    HashMap: key是用Set来存放的,不可重复。Value是Collection存放的,可以重复
    一个key-value对是一个Entry,多组Entry 也是一个Set.
    向HashMap中添加元素时,会调用Key所在类的equals方法,判断两个key是否相同,如果

    相同,后添加的元素会覆盖原来的元素

    LinkedHashMap:  遍历顺序与添加顺序相同,因为增加了链表维护

      如何遍历key
       如何遍历value
      如何遍历key-value

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Collection;
import java.util.Iterator;
public class TestMap{
   public static void main(String[] args){
      Map map = new HashMap();
      map.put(12,1234);
      map.put("AA",90);
      map.put("GG",10);

      map.put("PP",78);

     // 如何遍历key- for循环

      Set set = map.keySet();
      for(Object o : set){
          System.out.print(o);

      }

 // 如何遍历key-迭代器

      Iterator i = set.iterator();
      while(i.hasNext()){
          System.out.println(i.next());

      }  

  // 如何遍历value-迭代器

      Collection values = map.values();
      Iterator j = values.iterator();
      while(j.hasNext()){
         System.out.println(j.next());

      }

  // 如何遍历key-value  for循环get

    for(Object o : set){

     System.out.print(o + "--"+map.get(o));

         }

    // 如何遍历key-value  for循环   entrySet()

      Set keyValue = map.entrySet();
      for(Object o : keyValue){
          Map.Entry entry = (Map.Entry) o;
          System.out.println(entry);
          System.out.println(entry.getKey()+"----"+entry.getValue());
      }
  }
}

猜你喜欢

转载自blog.csdn.net/sue12347/article/details/80264687