在Java 2的Collections框架中,主要包括两个接口及其扩展和实现类:Collection接口和Map接口。两者的区别在于前者存储一组对象,后者则存储一些关键字/值对。
public interface java.util.Map { //Altering Methods public Object put(Object key, Object value). public Object remove(Object key). public void putAll(java.util.Map). public void clear(). //Querying Methods public Object get(Object key). public int size(). public boolean isEmpty(). public boolean containsKey(Object). public boolean containsValue(Object). public boolean equals(Object). //Viewing Methods public java.util.Set keySet(). //Gets keys public java.util.Collection values(). //Gets values public java.util.Set entrySet(). //Gets mappings public static interface java.util.Map.Entry { //a map-entry (single key/value pair) public Object getKey(). //returns current entry key public Object getValue(). //returns current entry value public Object setValue(Object value). public boolean equals(Object). public int hashCode(). }}
Map接口提供了方便易用的方法,通过这些方法可以查询、查看、修改当前Map的内容。注意对于Map接口的keySet()方法返回一个Set,Set是Collection接口的一个扩展,包含不重复的一组对象。因为Map中的key是不可重复的,所以得到所有key的keySet()方法返回一个Set对象。Map接口本身还包含了一个Map.Entry接口,一个Map.Entry就是Map中的一个关键字/值对。Map接口中的entrySet()方法就返回了一个集合对象,其中每一个元素都实现了Map.Entry接口。Map接口的get(Object key),put(Object key,Object value),和remove(Object key)方法都有同一个问题。他们的返回类型都是Object,当返回null时,可以猜测为调用那个方法前那个key不存在。但是只有在null不允许作为Map的值时可以这样猜测。所有Map接口的通用实现都允许null作为key或者value,这就说当返回一个null值,就可以意味着很多事情。只是因为通用实现允许null值,你不能下那个映射有null值的结论。如果你确知没有null值,那返回null值就意味着调用那个方法前,映射里并没有那个键。否则,你必须调用containsKey(Object key)来看看那个Key是否存在。
相关文章
Java中strictfp的使用方法
专业语言:Groovy基础学习
Java关键字之native,strictfp,tra ient,volatile
JAR命令&JAR包详解
java的Collectio 框架的使用方法
java从树组中删除元素的方法
Java虚拟Unix_Linux文件路径
Cla Loader的继承载入机制
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛