黑马程序员技术交流社区
标题:
Map集合
[打印本页]
作者:
xiaoxinxin003
时间:
2015-7-12 03:16
标题:
Map集合
Map集合:存放的是键值对,一对一对存放,而且保证键的唯一性,包括
三个子类:HashTable HashMap TreeMap
添加:put(K key,V value) putAll() 删除:clear() remove(Object Key)
判断:containsValue(Object value) containsKey(Object key) isEmpty()
获取:get(Object key) size() value() entrySet() keySet()
Map 其实Set集合底层使用的就是Map集合
|——HashTable底层是哈希值数据结构,不可以有null键和值,是线程同步的。
|——HashMap底层是哈希值数据结构,允许使用null键和值,是线程不同步的。
|——TreeMap底层是二叉树,可以用于给Map集合中的键进行 排序,线程不同步。
HashMap和HashTable的区别:null和同步不同步。
代码演示Map共性方法:
import java.util.*;
class MapDemo
{
public static void main(String [] args){
Map<String,String> map = new HashMap<String,String>();
map.put("01","zhangsan01");//添加
map.put("02","zhangsan02");
map.put("03","zhangsan03");
System.out.println("containsKey: "+map.containsKey("02"));
//System.out.println("remove: "+map.remove("02"));
//System.out.println("get: "+map.get("03"));
map.put(null,"haha");
System.out.println("get: "+map.get(null));
//获取
Collection <String>coll = map.value();
System.out.println(coll);
System.out.println(map);
}
}
复制代码
Map集合所有的元素获取:entrySet和keySet
keySet:将map中所有的键存放到Set集合,因为Set集合具备迭代器。然后可以通过迭代获取所有键,
再通过get方法获取所有的值,
代码演示keySet:
import java.util.*;
class MapDemo
{
public static void main(String [] args){
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();
//获取其迭代器
Iterator<String> it = keySet.iterator();
while(it.hasNext()){
String key = it.next();//取得所有的键
String value = map.get(key);//取得值
System.out.println("key: "+key+"value: "+value);
}
}
复制代码
第二种获取方法:entrySet,将map集合中的映射关系存放到Set集合,
而这个映射关系的数据类型就是:Map.Entry
Map.Entry也是一个接口,是Map接口中的一个内部接口。
代码演示:
import java.util.*;
class MapDemo
{
public static void main(String [] args){
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();
Iterator<Map.Entry<String,String>> it = entrySet.iterator();
while(it.hasNext()){
Map.Entry<String,String> me = it.next();
String key = me.getKey();
String value = me.getValue();
System.out.println("key: "+key+"value: "+value);
}
}
复制代码
作者:
0618张军
时间:
2015-7-12 07:10
写的不错,,加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2