java map的使用

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

你可能感兴趣的:(java MAP)