读书人

MapHashMap跟HashTable

发布时间: 2012-11-09 10:18:48 作者: rapoo

Map——HashMap和HashTable
HashMap和HashTable都实现Map接口。HashMap允许键和值为null,但HashTable不行。两者的键都不能重复。

import java.util.HashMap;import java.util.Hashtable;public class MapTest {/** * @param args */public static void main(String[] args) {HashMap<String, String> hashMap = new HashMap<String, String>();hashMap.put("num1", "1");hashMap.put("num2", "2");hashMap.put("num3", "3");hashMap.put(null, "0");hashMap.put("num0", null);System.out.println(hashMap.get(null));System.out.println(hashMap.get("num0"));}}

输出:
0null

HashMap允许键和值为空。
import java.util.HashMap;import java.util.Hashtable;public class MapTest {/** * @param args */public static void main(String[] args) {HashMap<String, String> hashMap = new HashMap<String, String>();hashMap.put("num1", "1");hashMap.put("num2", "2");hashMap.put("num3", "3");hashMap.put(null, "0");hashMap.put("num0", null);System.out.println(hashMap.get(null));System.out.println(hashMap.get("num0"));Hashtable<String, String> hashTable = new Hashtable<String, String>();hashTable.put("num0", null);hashTable.put(null, "0");}}

结果出异常,不管是值为空,或者键为空都会出现异常。

常用的方法示例:

import java.util.HashMap;import java.util.Hashtable;public class MapTest {/** * @param args */public static void main(String[] args) {HashMap<String, String> hashMap = new HashMap<String, String>();hashMap.put("num1", "1");hashMap.put("num2", "2");hashMap.put("num3", "3");hashMap.put(null, "0");hashMap.put("num0", null);System.out.println(hashMap.get(null));System.out.println(hashMap.get("num0"));Hashtable<String, String> hashTable = new Hashtable<String, String>();hashTable.put("num0", "0");hashTable.put("num1", "1");hashTable.put("num2", "2");hashTable.put("num3", "3");System.out.println(hashMap.containsKey("num1"));System.out.println(hashMap.containsValue("1"));System.out.println(hashTable.containsKey("num1"));System.out.println(hashTable.containsValue("1"));}}

输出:
0nulltruetruetruetrue

读书人网 >编程

热点推荐