HashMap 非线程安全的
HashTable线程安全的
package Collections.Map;import java.util.HashMap;public class HashMapTest { public static void main(String[] args) { HashMapmap = new HashMap (); //测试覆盖【值被覆盖】 map.put("a", "apple"); map.put("a", "animal"); System.out.println(map.get("a")); //测试键为空值【键可以为空】 map.put(null, "desk"); System.out.println(map.values()); //测试值为空【值为空】 map.put("b", null); System.out.println(map.keySet()); //null可以做为键 }}
package Collections.Map;import java.util.Hashtable;public class HashTableTest { public static void main(String[] args) { Hashtabletable = new Hashtable (); table.put("a", "apple"); table.put("a", "animal"); System.out.println(table.get("a")); table.put(null, "desk"); System.out.println(table.values()); table.put("b", null); System.out.println(table.keySet()); }}
HashMap 可以将key或value设为null
HashTable不能将key或value设为null