一、常用方法
1.添加:
map.put(key,value) //在key位置上存储value值,key存在则覆盖原有值;
map.putAll(Map m);//将Map集合m放在map中
2.删除:
map.clear(); //清空map中的数据
map.remvoe(key); //删除key及其位置上的元素,返回其值。
3.判断:
map.containsValue(value); //判断集合是否包含value值
map.containsKey(key); //判断集合是否包含key键
4.获取:
map.get(key); //获取key键上的value值
map.size(); //获取map集合的大小
Collection c = map.values();
// 返回map集合中的value值 的Collection集合;
Set< K > set = keySet(); //取出key的所有值的Set集合
Set< Map.Entry< K , V > >set =entrySet();
//返回的是包含键值对的Set集合,再通过getKey(),getValue()获取键和值
eg : 遍历Map集合 map:键:String name 值:int age
keySet():用法:
Map<Strring ,Integer> map =new TreeMap<>();
Set< Stirng > set =map.keySet();
Iterator< String > it =set.iterator();
while(it.hasNext()){
String name=it.next();
Integer age =map.get(name);
}
entrySet(): 用法
Map<Strring ,Integer> map =new TreeMap<>();
Set<Map.Entry< String ,Integer >> set =map.entrySet();
Iterator<Map.Entry< String ,Integer >> it =set.iterator();
while(it.hasNext()){
Map.Entry< String ,Integer > me =it.next();
String name =me.getKey();
Iterator age =me .getValue();
}
了解: Map.Entry< K ,V> 是Map的内部接口Entry 的调用
二、查阅API发现Map 和 Set 很像,其实Set集合的底层用的是Map集合
实现类有:
Hashtable : 底层用哈希表实现,不允许存在null键和值,集合线程安全(线程同步) jdk1.0以前常用
HashMap : 底层用哈希表实现,运行存在null的键和值,集合线程不同步,用法与Hastable相同
TreeMap : 底层用二叉树实现,用于需要排序的Map集合中
Properties:继承Hastbale,主要用于流中文件固化
Map集合和Set是差不多的,他被使用是因为具有映射关系,意思是要有一对一或者一对多的关系数据存储时Map集合,实现类方法就不介写了。