java Map接口
2020-12-13 05:19
标签:while 对象 个学生 set col entryset system next move 映射关系,也有人称为字典,Map集合里存在两组值,一组是key,一组是value。Map里的key不允许重复。通过key总能找到唯一的value与之对应。 Map里的key集存储方式和对应的Set集合中的元素存储方式一致; 学生都有一个学号,我们能点学号就能找到某个学生,好比这个学号就是key,学生就是value。 Map.Entry是Map接口的内部接口,专门用来保存key-value内容: Map常用方法 void clear():删除该Map对象中所有的key-value对。也就是清理该集合; boolean containsKey(Object key):查询Map中是否包含指定的key; boolean containsValue(Object value):查询Map中是否包含至少一个value; Set entrySet():返回Map所包含的key-value对所组成的Set集合,每个集合元素都是Map.Entry对象(Entry是Map内部类); Object get(Object key):返回指定key所对应的value,若此Map中不包含该key,返回null; boolean isEmpty():判断Map集合是否为空; Set keySet():返回该Map中所有key所组成的Set集合; Object put(Object key,Object value):添加一个key-value对,若Map中已有与key相等的key-value对,则新的key-value对覆盖原来的key-value对; void putAll(Map m):将m中的key-value赋值到调用该方法的Map对象中; Object remove(Object key):删除指定key所对应的key-value对,返回本删除key所关联的value,若key不存在,返回null; int size():返回该Map里面key-value对的个数; Collection values():返回Map里所有value组成的Collection。 Eg:package july7; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Demo17 { public static void main(String[] args) { Map m = new HashMap(); m.put(1, "jack"); m.put(2, "rose"); m.put(3, "lucy"); System.out.println(m);//{1=jack, 2=rose, 3=lucy} Set s = m.entrySet(); System.out.println(s);//[1=jack, 2=rose, 3=lucy] s = m.keySet(); System.out.println(s);//[1, 2, 3] for (Object key : s) { System.out.println(key);//Key System.out.println(m.get(key));//Value } Collection c = m.values(); System.out.println(c); } } Map.Entry Entry是Map接口里面的一个内部接口. 该接口用于封装key- value,有3个方法: Object getKey();返回Entry里包含的key值 Object getValue();返回Entry里包含的value值 Object setValue(Object value):设置Entry里包含的value值,并返回新设置的value值; Map集合的输出 按照最正统的做法,所有的Map集合的内容都要依靠Iterator输出,以上虽然是完成了输出,但是完成的不标准,Map集合本身并不能直接为Iterator实例化,如果此时非要使用Iterator输出Map集合中内容的话,则要采用如下的步骤: 方法一: 1.通过entrySet方法变成Set对象 2.调用Set的Iterator方法,此时每个Iterator对象是Map.Entry对象 3.对Map.Entry分离出 key - value 方法二: 1.通过keySet得到Map集合多有key的Set集合 2.调用Set的Iterator方法,此时每个Iterator对象是key值 3.通过Map的getValue(key)得到value值 Eg: package july7; //把Map中的元素取出来 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class Demo18 { public static void main(String[] args) { Map m.put(1, "jack"); m.put(2, "rose"); m.put(3, "lucy"); //第一种方法 Set s = m.entrySet(); Iterator it = s.iterator(); while(it.hasNext()){ Map.Entry me = (Entry) it.next(); System.out.println(me.getKey()+" "+me.getValue()); } //第二种方法 s = m.keySet();//得到的是key的集合 it = s.iterator();//然后将key迭代出来 while(it.hasNext()){ int i = (int)it.next(); System.out.println(i+" "+m.get(i)); } } } java Map接口 标签:while 对象 个学生 set col entryset system next move 原文地址:https://www.cnblogs.com/fanweisheng/p/11136152.html