您的位置:首页 > 职场人生

黑马程序员——Map集合总结

2015-03-01 18:04 190 查看
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

[align=left]Map集合:该集合存储键值对,一对一对的往里存,并且要保证键的唯一性。
Map中的方法:
    1.添加:
        put(K key,V value)
        putAll(Map<?extend K,?extends V>m)
    2.删除:
        clear()
        remove(Object Key)
    3.判断:
        containsValue(Object value)
        containsKey(Object key)
        isEmpty()
    4.获取:
        get(Object key)
        size()
        values()
        entrySet()
        keySet()
Map
    |——HashTable:底层是哈希表数据结构,不能存入null键或null值,该集合线程同步
    |——HashMap底层是哈希表数据结构,允许存入null键或null值,该集合线程不同步
    |——TreeMap底层是二叉树数据结构,线程不同步,可以用于给Map中的键值进行排序

可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断

如果添加元素时出现相同的键值,那么添加的值会覆盖原来的键对应的值,并put方法会返回被覆盖的值

map集合的两种取出方式:

1.Set<T> keySet:将map中的所有的键存入到set集合,因为set具有迭代器,所以可以用迭代的方式取出所有的键,再根据get方法,获取每一个键对应的值

Map集合的取出原理:将map集合转换成set集合在通过迭代器取出

示例代码如下:

Map<String,String> map=new HashMap<String,String>();
map.put("01","zhangsan01");
map.put("02","zhangsan02");
map.put("03","zhangsan03");

//先获取map集合中的所有键的set集合,keySet()
Set<String> keySet = map.keySet();

//有了set集合就可以获取迭代器
Iterator<String> it= keySet.iterator();

while(it.hasNext()){

  String key = it.next();//取得map集合中的所有Key

  String value= map.get(key);//通过Key取得map中的value值

System.out.println("key:"+key+"....value:"+value);
}

2.Set<Map.Entry<K,V>> entrySet:将map集合中的映射关系存入到Set集合,而这个关系的数据类型是Map.Entry。示例代码如下

Map<String,String> map=new HashMap<String,String>();
map.put("01","zhangsan01");
map.put("02","zhangsan02");
map.put("03","zhangsan03");

//将map集合中的映射关系存入到Set集合
Set<Map.Entry<String,String>> entrySet=map.entrySet();

//有了set集合就可以获取迭代器
Iterator<Map.Entry<String,String>> it= keySet.iterator();

while(it.hasNext()){
  Map.Entry<String,String> me=it.next();
  String key = me.getKey();//取得Map.Entry关系集合中的Key
[/align]

  String value= me.getValue();//通过Map.Entry取得map中的value值

System.out.println("key:"+key+"....value:"+value);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: