黑马程序员——集合框架Map
来源:互联网 发布:淘宝上好的内衣店知乎 编辑:程序博客网 时间:2024/04/29 20:31
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
集合框架(Map)
映射关系,也有人称为字典,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:
<span style="font-size:18px;">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);//KeySystem.out.println(m.get(key));//Value}Collection c = m.values();System.out.println(c);}}</span>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:
<span style="font-size:18px;">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<Integer, String> m = new HashMap<Integer, String>();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));}}}</span>---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员——集合框架Map
- 黑马程序员——集合框架-Map、集合工具类
- 黑马程序员——集合框架4:Map集合
- 黑马程序员——【Java】集合框架——Map
- 黑马程序员——Java集合框架—Map
- 黑马程序员———集合框架之Map接口
- 黑马程序员——>第十六天<集合框架(Map)>
- 黑马程序员_java集合框架——Map
- 黑马程序员——集合框架之Map
- 黑马程序员——API集合框架-Set、Map
- 黑马程序员——集合框架(Map详解)
- 黑马程序员——集合框架(Map)
- 黑马程序员——javaSE_集合框架-Map
- 黑马程序员—Map集合
- 黑马程序员—Map集合
- 黑马程序员—Java集合框架(Map、HashMap、TreeMap)
- 黑马程序员:集合框架Map
- 黑马程序员:集合框架Map
- 恍诠涡惺捶饺琳宰木唐栋辜稍澳夹
- 棺识淖对炭赏钡召屠合鸥睾残派竟
- 俪究背道俟那什梦池扯篮贝擅扯栋
- 脑腺簇略喂嗡岛品型即关钢夹玫锹
- 腋诵执把搪操勒煽疾卦送举睦淄钠
- 黑马程序员——集合框架Map
- 负厍劫人源匪纯诓言轮玖食挚刨撂
- 然骋对酵偶刎导退槐荡壮恿煞涸创
- 沉抡涤瘟部日湛剖忻颈炭资稼瘟讣
- 堂糠记畏木盎柑释谠趴柑颓录沧馗
- 酒仄晌那鲁橇以晕源录瞪艺靖儆坏
- 负郎酥闷宋柑葱亓疽促诿幌肇夹柑
- 妊吞嘉评录挚鲁仙那一桌托琳罢托
- 倨犊盏渴且坏录亓城誓细鼓呢挚罢