《Java程序设计:031310_Map接口》由会员分享,可在线阅读,更多相关《Java程序设计:031310_Map接口(8页珍藏版)》请在金锄头文库上搜索。
1、 MLDN 软件教学研件教学研发部部JAVA 应用开发详解应用开发详解Java类集 Map接口Map接口之前所讲解的Collection、Set、List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key value的形式存储在集合之中,此接口定义如下:public interface Map维护维护“键(键(key)值)值(value)”关系对结构的无序容器关系对结构的无序容器键键与与值值都为对象都为对象一个一个Map中不能包含相同的中不能包含相同的key,每个,每个key只能映射一个只能映射一个valu
2、e。常用的实现类:常用的实现类:HashMapMap接口中的方法 No.方法或类方法或类类类型型描述描述1public void clear()普通清空Map集合2public boolean containsKey(Object key)普通判断指定的key是否存在3public boolean containsValue(Object value)普通判断指定的value是否存在4public SetMap.Entry entrySet()普通将Map对象变为Set集合5public boolean equals(Object o)普通对象比较6public V get(Object ke
3、y)普通根据key取得value7public int hashCode()普通返回哈希码8public boolean isEmpty()普通判断集合是否为空9public Set keySet()普通取得所有的key10public V put(K key, V value)普通向集合中加入元素11public void putAll(Map t)普通将一个Map集合中的内容加入到另一个Map12public V remove(Object key)普通根据key删除value13public int size()普通取出集合的长度14public Collection values()普
4、通取出全部的value新的子类:HashMap HashMap本身是Map的子类,直接使用此类为Map接口实例化即可。 HashMap类的定义如下: public class HashMapextends AbstractMapimplements Map, Cloneable, Serializable实例操作一:向集合中增加和取出内容 package org.lxh.demo13.mapdemo;import java.util.HashMap;import java.util.Map;public class HashMapDemo01 public static void main(S
5、tring args) Map map = null;/ 声明Map对象,map = new HashMap();/ key和value是String类map.put(mldn, );/ 增加内容map.put(zhinangtuan, );/ 增加内容map.put(mldnjava, );/ 增加内容String val = map.get(mldn);/ 根据key求出valueSystem.out.println(取出的内容是: + val);/ 输出Map,调用toString()实例操作二:判断指定的key或value是否存在 package org.lxh.demo13.mapd
6、emo;import java.util.HashMap;import java.util.Map;public class HashMapDemo02 public static void main(String args) Map map = null;/ 声明Map对象,map = new HashMap();/ key和value是String类map.put(mldn, );/ 增加内容map.put(zhinangtuan, );/ 增加内容map.put(mldnjava, );/ 增加内容if (map.containsKey(mldn) / 查找指定的key是否存在Syste
7、m.out.println(搜索的key存在!); else System.out.println(搜索的key不存在!);if(map.containsValue()/ 查找指定的value是否存在System.out.println(搜索的value存在!);elseSystem.out.println(搜索的value不存在!);实例操作三:输出全部的key package org.lxh.demo13.mapdemo;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.u
8、til.Set;public class HashMapDemo03 public static void main(String args) Map map = null;/ 声明Map对象,map = new HashMap();/ key和value是String类map.put(mldn, );/ 增加内容map.put(zhinangtuan, );/ 增加内容map.put(mldnjava, );/ 增加内容Set keys = map.keySet();/ 得到全部的keyIterator iter = keys.iterator();/ 实例化IteratorSystem.o
9、ut.print(全部的key:);/ 输出信息while (iter.hasNext() / 迭代输出全部的keyString str = iter.next();/ 取出集合的keySystem.out.print(str + 、);/ 输出内容实例操作四:输出全部的value package org.lxh.demo13.mapdemo;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class HashMapDemo04
10、public static void main(String args) Map map = null;/ 声明Map对象,map = new HashMap();/ key和value是String类map.put(mldn, );/ 增加内容map.put(zhinangtuan, );/ 增加内容map.put(mldnjava, );/ 增加内容Collection values = map.values();/ 得到全部的valueIterator iter = values.iterator();/ 实例化IteratorSystem.out.print(全部的value:);/ 输出信息while (iter.hasNext() / 迭代输出String str = iter.next();/ 取出valueSystem.out.print(str + 、);/ 输出内容