-----------------------|Map 根接口,如果是实现了Map接口的集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。
-------------------------------|Hashmap:存储原理:底部是基于哈希表的实现
添加元素的时候,和hashset一样先比较Hashmap中的键的hashCode()方法,算出存储位置,看是否有其他元素已在存储位置上,若有,使用equals()方法将待存储的键值对与存储位置上的元素做比较,若返回true,则表示重复元素,不被存储,否则,将此元素存储。
-------------------------------|Treemap:基于二叉树的数据结构实现的,特点:会对元素的键进行排序存储。
1.往Treemap添加元素的时候,如果元素的键具备自然顺序,那么就会按照自然顺序的特性进行存储.
2.往Treemap添加元素的时候,如果元素的键不具备自然顺序,那么元素键的所属类就要实现Comparable接口,并将键的比较规则定义在compareTo()方法中。
3.往Treemap添加元素的时候,如果元素的键不具备自然顺序,并且元素键的所属类也没与实现Comparable接口,那么在创建TreeMap对象的时候需要传入自定义的比较器。
-------------------------------|Hashtable 底层也是基于哈希表,与hashmap一致,不过他是线程安全的,操作效率低。