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("\t" + 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("\t" + ival.next());
}
// 根据key,取出特定的值
System.out.println("The value for Key \"Korean\" is "
+ m1.get("Korean").toString());
}
}