map集合中存放的都是一组组映射关系 key=value 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 (key=value) 此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。 常见的方法有:
put : 1.添加集合元素的同事,它可以编辑所有元素 如果说集合中没有key对应的value,那么就往集合中添加元素 如果说集合中对应的key有value值,则代表替换原有的值 2.放回替换前key对应的value值
entrySet : 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也就是一个Entry) Map.Entry里面包含getKey()和getValue()方法
keySet : 通过entrySet,效率高,以后尽量使用这种方式 通过ketSet,效率低
(一)Map集合是有Key和Value的,Collection集合是只有Value。 (二)Collection集合底层也是有Key和Value,只是隐藏起来。 (三)Map特点:元素按键值对存储,无放入顺序 (四)Map不是Collection的接口 (五)Map接口有三个实现类:HashMap,HashTable,LinkeHashMap HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null SortedMap有一个实现类:TreeMap (六)map集合中的泛型要使用包装类,或者是引用数据类型
它的使用方法和我的上一篇set篇里的TreeSet一样,详情请看我的上一篇
map集合中的泛型要使用包装类,或者是引用数据类型 统计、排序 统计功能 :
map Hashtable:底层是哈希表数据结构,不可以存入null键null值,该集合石线程同步的,jdk1.0,效率低
HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。将Hashtable替代;jdk1.2,效率高 TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序