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接口。

   

   

   

   

你可能感兴趣的:(map)