java——HashMap、Hashtable

Map:类似Python的字典

  HashMap:

    不支持线程的同步,即同一时刻不能有多个线程同时写HashMap;

    最多只允许一条记录的键值为null,不允许多条记录的值为null

    HashMap遍历所有键和值的两种方法:

    第一种:

import java.util.*;
public class exp{
    public static void main(String[] args){
        Map map = new HashMap();
        map.put("1", "jack");
        map.put("3", "rose");
        map.put("2", "lucy");
        System.out.println("1: " +map.get("1"));
        System.out.println("2: " +map.get("2"));
        System.out.println("3: " +map.get("3"));
        Set keySet = map.keySet();//获取所有的键
        Iterator it = keySet.iterator();
        while(it.hasNext()){
            Object key = it.next();
            Object value = map.get(key);
            System.out.println(key + ":" + value);
        }
    }
}

    第二种:

import java.util.*;
public class exp{
    public static void main(String[] args){
        Map map = new HashMap();
        map.put("1", "jack");
        map.put("2", "kid");
        map.put("3", "rosy");
        Set entrySet = map.entrySet();
        Iterator it = entrySet.iterator();
        while(it.hasNext()){
            // 每个Map.Entry代表了一个键值对
            Map.Entry entry = (Map.Entry) it.next();
            Object key = entry.getKey();
            Object value = entry.getValue();
            System.out.println(key + ":" + value);
        }
    }

}

Hashtable:线程安全,存取元素时速度很慢,一般只用它的子类:Properties

  Properties :存储字符串类型的键和值,一般用来存取应用的配置项。

 

posted @ 2018-09-09 20:19  高圈圈  阅读(156)  评论(0编辑  收藏  举报