A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© javaeea 中级黑马   /  2015-9-25 10:51  /  300 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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.}  

2 个回复

正序浏览
不错吧,就是代码看着乱了点
回复 使用道具 举报
很详细,不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马