码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员——Map集合概述

时间:2015-06-06 09:11:17      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:黑马程序员

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.comtarget="blank">

java培训</a>、期待与您交流! ---------



引言:

          Map  集合, 该集合存储键 值 对,一对一对往里存,而且要保证键的唯一性。

         其中基本功能有:

                  添加

                    put (K  key , V value)

                     putAll(Map<? extends  K, ? extends V>  m)

        删除

                    clear()

                    remove(Object key)

        判断

                    containsValue(Object     value)

                    containsKey(Object    key )

                    isEmpty()

        获取

                   get(Object   key)

                   size()

                   values()

            Map  集合          中的三个子类   

 

<1>  Hashtable           底层是哈希表数据结构,不可以存入null键 null 值,该集合是线程同步的       

 

<2> HashMap             底层是哈希表数据结构,允许使用null键  null值 ,  该集合 是不同步的


 <3>  TreeMap             底层是二叉树数据结构 ,  线程不同步,可以用于给map集合中的键进行排序      


例子演示方法

    public class MapDemo {


public static void main(String[] args) {
// TODO Auto-generated method stub
           med1();
}


private static void med1() {
// TODO Auto-generated method stub
Map<String,String>  map  =  new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili");
map.put("3","shili");
map.put("4","shili");


System.out.println(map.containsValue("2"));//false
System.out.println(map.remove("4"));//shili
System.out.println(map.get("3"));//shili


map.put(null, "2222");


System.out.println(map.get(null));//2222
System.out.println(map);//{null=2222, 1=shili, 2=shili, 3=shili}


//也可以通过个get方法判断一个键是否存在
//获得map集合中所有的值


Collection<String> coll = map.values();
System.out.println(coll);//[2222, shili, shili, shili]



}


}       
 

注    添加元素,如果出现添加时,相同的键,那么后添加的值会覆盖原有的键对应值

------------------------------------------------------------------------------------------------------

Map集合的取出方式

                   keySet      将map中所有的键存入到Set集合中,因为Set具备迭代器,所有可以迭代方式取出所有的键,在根据get方法,获取每一个键所对应的 值

                   entrySet    将map中的映射关系存入了到了set集合中,而这个关系数据类型就是:Map.Entry


public static void main(String[] args) {
// TODO Auto-generated method stub
           med1();
}


private static void med1() {
// TODO Auto-generated method stub
Map<String,String>  map  =  new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili4");
map.put("3","shili2");
map.put("4","shili3");

//先获取map集合中的所有的键的Set集合
Set<String>       keyset =map.keySet();
Iterator<String>  it = keyset.iterator();
while(it.hasNext())
{
System.out.println(map.get(it.next()));
}

}


}

--------------------------------------------------------------------------------------------------------------------------

public class MapDemo {


public static void main(String[] args) {
// TODO Auto-generated method stub
           med2();
}


private static void med2() {
// TODO Auto-generated method stub
Map<String,String>  map  =  new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili4");
map.put("3","shili2");
map.put("4","shili3");


//将Map集合跌映射关系取出,存入到set集合中


Set<Map.Entry<String, String>>  mapset = map.entrySet();
Iterator<Map.Entry<String, String>> it = mapset.iterator();
while(it.hasNext())
{
Map.Entry<String, String> m =it.next();
System.out.println(m.getKey()+"  "+m.getValue());
}
}


--------------------------------------------------------------------------------------------------------------------------




















黑马程序员——Map集合概述

标签:黑马程序员

原文地址:http://blog.csdn.net/zl18603543572/article/details/46383399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!