package 集合类.Map类; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * Map 的key是不能重复的 * @author jjj * */ public class HashMap类 { /** * 如何遍历HashMap * 下面用法是jdk1.4就能支持 */ public void traverseMap() { Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); } } /** * put() ,注意put方法不仅可以增加元素进行,也可以修改元素值 * 因为map的key是不能重复的,所以要修改map中某个key的value时直接再put一次即可 * get() ,通过key得到值 * size() * remove() * key的遍历,构建map集合中所有key对象的集合 * value的遍历,构建map集合中所有values值的集合 */ public static void main(String[] args) { Map m1 = new HashMap(); m1.put("Chinese", new Long(100000)); m1.put("English", new Long(20000)); m1.put("French", new Long(3000)); m1.put("Korean", new Long(400)); // 可以这样修改值 m1.put("French", new Long(123456789)); m1.put("Chinese", new Long(123456789)); m1.put("Korean", new Long(123456789)); System.out.println("The HashMap holds " + m1.size() + " elements"); System.out.println("The keys are:"); // 因为Map的key不可能重复,所以,可以用Set数据结构来存储 Set keySet = m1.keySet(); Iterator ikey = keySet.iterator(); while (ikey.hasNext()) { System.out.println(" " + ikey.next()); } System.out.println("The values are:"); // 因为Map的值有可能重复,所以不能用Set,要用Collection Collection valueCol = m1.values(); Iterator ival = valueCol.iterator(); while (ival.hasNext()) { System.out.println(" " + ival.next()); } // 根据key,取出特定的值 System.out.println("The value for Key "Korean" is " + m1.get("Korean").toString()); } }