Map接口:俗称映射,是一个保存了一组键值对应关系的对象,集合中不能包含重复的键,即一个键只能对应一个值,使用put(K key ,V value)方法时,如果key存在,则新的value会取代旧的value值、
其实现类有 HashMap、TreeMap:在Map 中插入、删除、定位元素,HashMap是最好的选择,HashMap通过hashcode对其内容进行查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果需要一个有序结果。就应该使用TreeMap(HashMap 中元素的排列顺序是不固定的)
Map 接口中常用的方法
添加、删除操作
•Object put(Object key ,Object value ):将互相关联的一个关键字和一个值放入该对象,如果该关键字已存在,那么与此关键字相关的新值将取代旧值,如果该关键字不存在,则返回null
•Object remove(Object key)从映像中删除与key相关的映射
•void putAll(Map t) 将来自特定映像的所有元素添加给该映像
•void clear()从映像中删除所有映射
查询操作
•Object get(Object key) 获得与此关键字key相关的value
•boolean containsKey(Object key) 判断映像中是否存在关键字key
•boolean containsValue(Object value) 判断映像中是否存在值value
•int size() 返回当前映射的数量
•boolean isEmpty() 判断当前映射中是否含有任何映射
视图操作:处理映射中键/值对组
•Set keySet() 返回映射中所有关键字的视图集
•Collection values() 返回映射中所有值的视图集
•Set entrySet()返回整个映射的视图集
下面是一个例子程序
[html] view plaincopy在CODE上查看代码片派生到我的代码片
01.import java.util.Collection;
02.import java.util.HashMap;
03.import java.util.Iterator;
04.import java.util.Set;
05.
06.
07.public class MapDemo {
08.
09. /**
10. * @param args
11. */
12. private int grade;
13. private String name;
14. MapDemo(){}
15. MapDemo(String name,int grade){
16. this.name=name;
17. this.grade=grade;
18. }
19. public static void printcl(Collection cl){
20. Iterator iter=cl.iterator();
21. while(iter.hasNext())
22. System.out.println(iter.next());
23. }
24. public static void main(String[] args) {
25. // TODO Auto-generated method stub
26. HashMap map=new HashMap();
27. map.put("li", new MapDemo("lisi",90));
28. map.put("zhang", new MapDemo("zhangsan",91));
29. map.put("wang", new MapDemo("wangwu",92));
30.// System.out.println(map);
31. Set set1=map.keySet();
32.// printcl(set1);
33. Iterator iter=set1.iterator();
34. while(iter.hasNext()){
35.// System.out.println(iter.next());
36. MapDemo mapdemo=(MapDemo)map.get(iter.next());
37. System.out.println(mapdemo.grade);
38. }
39.// System.out.println(set1);
40.// Set set2=map.entrySet();
41.// System.out.println(set2);
42.// Collection cl=map.values();
43.// System.out.println(cl);
44.
45. }
46.
47.}
|
|