王吉元-NWPU

导航

 

Map的继承关系如下图:

Map

  ├Hashtable

  ├HashMap

  └WeakHashMap

注意:Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。

Map特点:元素按键值对存储,无放入顺序

Map接口有三个实现类:HashMap,HashTable,LinkeHashMap


  HashMap非线程安全,高效,支持null

 

  HashTable线程安全,低效,不支持null


  SortedMap有一个实现类:TreeMap

 

代码如下:

package com.wjy;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapTest {
 public static void main(String[] args){
  Map<Integer,String> map=new HashMap<Integer,String>();
  map.put(2012201668, "王吉元");
  map.put(110,"警察局");
 
  System.out.println("The name is: "+map.get(2012201668));
 
  System.out.println("Contains the key? "+map.containsKey(2012201668));
 
  System.out.println("Contains the value? "+map.containsValue("wangjiyuan"));
  System.out.println("Contains the value? "+map.containsValue("王吉元"));
 
  System.out.println(map.entrySet());

  System.out.println(map.get(110));
  map.remove(110);
  System.out.println(map.get(110));
 
 
  map.put(888,"发发");
  map.put(666,"顺顺");
  /*
   * Map没有iterator方法(.iterator()),使用keyset()将键值存储在Set中。
   */
  Set set=map.keySet();
 
  Iterator it=set.iterator();
  while(it.hasNext()){
   System.out.println(it.next());
  }
  /*
   * 注意这是标准写法,while(it.hasNext()){ 在这里调用it.next()从容器中取值。}
   */
 }
}

 

 

运行结果;

The name is: 王吉元
Contains the key? true
Contains the value? false
Contains the value? true
[2012201668=王吉元, 110=警察局]
警察局
null
2012201668
666
888

posted on 2013-04-11 13:03  王吉元  阅读(426)  评论(0编辑  收藏  举报