Map的子类和Set的子类实现方法基本都是差不多的,只不过map有一个键值对的东西,而set只有键没有值。Map的子类判断键是否唯一的原理和Set是相同的,排序的方法也一样,所以以下只列举Map的一些常用方法。

package zaojiahua;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
import java.util.HashMap;
import java.util.Hashtable;

public class Test
{
	public static void main(String args[])
	{

		//java的集合中,不能添加基本数据类型,必须是引用数据类型
		TreeMap<Integer,String> treeMap = new TreeMap<Integer,String>();
		//使用put方法添加键值对
		treeMap.put(0, "a");
		treeMap.put(1, "b");
		treeMap.put(3, "d");
		treeMap.put(4, "f");
		//put方法返回之前键对应的值,如果没有的话就返回null
		System.out.println(treeMap.put(2, "b"));
		System.out.println(treeMap.put(2, "c"));
		System.out.println(treeMap);

		//使用remove方法来删除键值对
		System.out.println(treeMap.remove(0));
		System.out.println("删除后:"+treeMap);

		//判断集合中是否存在指定的键或者是值
		System.out.println(treeMap.containsKey(0));
		System.out.println(treeMap.containsValue("c"));

		//Map没有迭代器,使用以下的方法来遍历集合
		Set<Integer> set = treeMap.keySet();
		Iterator<Integer> iterator = set.iterator();
		while(iterator.hasNext())
		{
			Integer i = iterator.next();
			System.out.println(i+":"+treeMap.get(i));
		}

		Hashtable<String,String> hashTable = new Hashtable<String,String>();
		//hashtable不允许将空作为键值
		//hashTable.put(null, null);

		HashMap<String,String> hashMap = new HashMap<String,String>();
		//hashMap允许将空作为键值对
		hashMap.put(null, null);

		TreeMap<String,String> treeMap = new TreeMap<String,String>();
		//不允许为空
		//treeMap.put(null,null);
	}
}

容器类Map