Java笔记集合之Map

一、简介

将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。

Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。

二、方法摘要

 void clear()
          从此映射中移除所有映射关系(可选操作)。
 boolean containsKey(Object key)
          如果此映射包含指定键的映射关系,则返回 true
 boolean containsValue(Object value)
          如果此映射将一个或多个键映射到指定值,则返回 true
 Set> entrySet()
          返回此映射中包含的映射关系的 Set 视图。
 boolean equals(Object o)
          比较指定的对象与此映射是否相等。
 V get(Object key)
          返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
 int hashCode()
          返回此映射的哈希码值。
 boolean isEmpty()
          如果此映射未包含键-值映射关系,则返回 true
 Set keySet()
          返回此映射中包含的键的 Set 视图。
 V put(K key,V value)
          将指定的值与此映射中的指定键关联(可选操作)。
 void putAll(Map m)
          从指定映射中将所有映射关系复制到此映射中(可选操作)。
 V remove(Object key)
          如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
 int size()
          返回此映射中的键-值映射关系数。
 Collection values()
          返回此映射中包含的值的 Collection 视图。

三、HashMap与HashTable

   HashMap

      HashTable

public class Hashtable extends Dictionary implements Map
public class HashMap  extends AbstractMap implements Map
并发下使用HashMap就=就要自己添加同步了 Hashtable 中的方法是同步的
在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。 Hashtable中,key和value都不允许出现null值。

你可能感兴趣的:(Java)