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);
- }
- }
复制代码
|
|