Map接口的使用

1方法说明

  void clear()

  从此映射中移除所有映射关系(可选操作)。

  boolean containsKey(Object key)

  如果此映射包含指定键的映射关系,则返回 true。

  boolean containsValue(Object value)

  如果此映射将一个或多个键映射到指定值,则返回 true。

  Set<Map.Entry<K,V>> entrySet()

  返回此映射中包含的映射关系的 Set 视图。

  boolean equals(Object o)

  比较指定的对象与此映射是否相等。

  V get(Object key)

  返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

  int hashCode()

  返回此映射的哈希码值。

  boolean isEmpty()

  如果此映射未包含键-值映射关系,则返回 true。

  Set<K> keySet()

  返回此映射中包含的键的 Set 视图。

  V put(K key, V value)

  将指定的值与此映射中的指定键关联(可选操作)。

  void putAll(Map<? extends K,? extends V> m)

  从指定映射中将所有映射关系复制到此映射中(可选操作)。

  V remove(Object key)

  如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

  int size()

  返回此映射中的键-值映射关系数。

  Collection<V> values()

  返回此映射中包含的值的 Collection 视图。

Map的一般用法

1.声明一个Map :

Map map = new HashMap();

2 .向map中放值 ,注意: map是key-value的形式存放的,如:

map.put("sa","dd");

3 .从map中取值 :

String str = map.get("sa").toString,

结果是: str = "dd‘

4 添加、删除操作:

Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null

Object remove(Object key): 从映像中删除与key相关的映射

void putAll(Map t): 将来自特定映像的所有元素添加给该映像

void clear(): 从映像中删除所有映射

“键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。”

5 查询操作:

Object get(Object key): 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null

boolean containsKey(Object key): 判断映像中是否存在关键字key

boolean containsValue(Object value): 判断映像中是否存在值value

int size(): 返回当前映像中映射的数量

boolean isEmpty() :判断映像中是否有任何映射

6 视图操作 :处理映像中键/值对组

Set keySet(): 返回映像中所有关键字的视图集

“因为映射中键的集合必须是唯一的,您用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”

Collection values():返回映像中所有值的视图集

“因为映射中值的集合不是唯一的,您用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”

Set entrySet(): 返回Map.Entry对象的视图集,即映像中的关键字/值对

“因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”

7. HashMap类和TreeMap类

“集合框架”提供两种常规的Map实现:HashMap和TreeMap (TreeMap实现SortedMap接口)。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。使用HashMap要求添加的键类明确定义了hashCode()和equals()的实现。

这个TreeMap没有调优选项,因为该树总处于平衡状态。

7.1. HashMap类

为了优化HashMap空间的使用,您可以调优初始容量和负载因子。

(1) HashMap(): 构建一个空的哈希映像

(2) HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映射

(3) HashMap(int initialCapacity): 构建一个拥有特定容量的空的哈希映像

(4) HashMap(int initialCapacity, float loadFactor): 构建一个拥有特定容量和加载因子的空的哈希映像

7.2. TreeMap类

TreeMap没有调优选项,因为该树总处于平衡状态。

(1) TreeMap():构建一个空的映像树

(2) TreeMap(Map m): 构建一个映像树,并且添加映像m中所有元素

(3) TreeMap(Comparator c): 构建一个映像树,并且使用特定的比较器对关键字进行排序

(4) TreeMap(SortedMap s): 构建一个映像树,添加映像树s中所有映射,并且使用与有序映像s相同的比较器排序

时间: 2024-10-19 15:43:49

Map接口的使用的相关文章

Java容器之Map接口

Map 接口: 1. 实现 Map 接口的类是用来存储键-值(key-value)对: 2. Map 接口的实现类有 HashMap 和 TreeMap 等: 3. Map 类中存储的键-值对,通过键来标识,所以键值不能重复. 4. Map 接口的常用方法如下:    4.1 object put(K key, V value):将指定的值与此映射中的指定键关联(可选操作); 4.2 object get(Object key):返回指定键所映射的值: 4.3 object remove(Obj

Java集合之Map接口

Map使用键值对来存储数据,将键映射到值对象,一个映射不能包含重复的键,每一个键最多只能映射到 一个值.Map接口的具体实现类:HashMap,Hashtable,TreeMap,LinkedHashMap 1)HashMap 基于哈希表(哈希表学习地址)的Map接口实现.允许使用null值和null键,不保证映射的顺序,特 别是不保证顺序恒久不变.它除了非同步和允许使用null外,与Hashtable大致相同. HashMap实现原理: 1.HashMap默认数组大小为16,加载因子为0.75

Java集合中Map接口的使用方法

Map接口 Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value: Map中的键值对以Entry类型的对象实例形式存在: 建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值. Map支持泛型,形式如:Map<K,V> Map中使用put(K key,V value)方法添加 HashMap类 HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现

Map接口及其子类

Map接口操作的是一对对象,即二元偶对象,Map接口中的每个元素都使用"key--value"的形式存储在集合中. SortedMap接口是排序接口,只要是实现了此接口的子类,都属于排序的子类.TreeMap就是此接口的一个子类 Map接口常用的子类: HashMap:无序存放,新的操作类,key不允许重复 Hahtable:无序存放,旧的操作类,key不允许重复 TreeMap:可以排序的Map集合,按集合的key排序,key不允许重复 WeakHashMap:弱引用的Map集合,清

JAVA集合详解(Collection和Map接口)

在Java的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:            java.util        +Collection 这个接口extends自 --java.lang.Iterable接口           +List 接口               -ArrayList 类              -LinkedList 类              -Vector 类     此类是实现同步的 +Queue 接口         

java map接口

Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value: 1.Map中的键值对以Entry类型的对象实例形式存在: 2.建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值. 3.Map支持泛型,形式如:Map<K,V> 4.map 接口和c# 中的Dictionary相近 一.基本用法 Map<String,String>map=new HashMa

Java集合框架总结(5)——Map接口的使用

Java集合框架总结(5)--Map接口的使用 Map用于保存具有映射关系的数据(key-vlaue).Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false Map中包含了一个keySet()方法,用于返回Map所以key组成的Set集合. Map集合与Set集合元素的存储形式很像,如Set接口下有HashSet.LinkedHashSet.SortedSet(接口).TreeSet.EnumSet等实现类和子接口,而Map接口下则有HashMa

Map接口使用注意事项

1,Map接口对象本身不能直接使用迭代进行输出的.因为map每个位置存放的是一对值. 而iterator每次只能找到一个值.如果一定要迭代输出,可以通过以下步骤.: 但是,Map接口只作为查找使用,输出操作毕竟属于少数. package 类集; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.WeakHashMap;

Java中map接口 遍历map

java集合框架用于存储数据,也被称为集合类 位于java.util包下 java.util包下常用接口和类 Collection和Map是Java集合框架的根接口 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问. Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因). Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value. Map接口 Map

Java从零开始学二十三(集合Map接口)

一.Map接口 Collection.Set.List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à value的形式存储在集合之中 二.常用方法 No. 方法或类 类型 描述 1 public void clear() 普通 清空Map集合 2 public boolean containsKey(Object key) 普通 判断指定的key是否存在 3 public boolean contai