Map
public interface Map<K,V>
Map(映射)是一个存储关键字和值的关联或者说是关键字/值对的集合。给定一个关键字,可以得到其相应的值。关键字和值都是对象。关键字必须是惟一的。但值是可以被复制的。
对于键对象来说,像Set一样,一个Map容器中的键对象不允许重复,这是为了保持查找结果的一致性。
Map 与加入的顺序没有关系
与Collection系列的集合一样,系统并不真正把对象放到Map中,Map中存放的只是键和值对象的引用。
HashMap | TreeMap | |
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable | public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable | |
HashMap类是基于哈希表的Map接口的实现。
此类不保证映射的顺序。
遍历: //Iterator //Set<String> set = map.keySet(); for (String key : set)...
//HashSet底层是HashMap,HashMap的底层是Hash算法。不排序。 | TreeMap类是SortedMap接口的基于红黑树的实现。
此类保证了映射按照升序顺序排列关键字,根据使用的构造方法不同,可能会按照键的类的自然顺序进行排序(参见Comparable),或者按照创建时所提供的比较器进行排序。
遍历: //Iterator
//Sorted接口具有排序的功能,但是键的类必须有Comparable接口。 |