0
点赞
收藏
分享

微信扫一扫

【Java集合】5Java中的Map

【Java集合】5Java中的Map_映射关系

Map接口中键和值一一映射. 可以通过键来获取值。

  • 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。
  • 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.
  • 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。
  • 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。
  • 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。

序号

方法描述

1

void clear( )

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

2

boolean containsKey(Object k)

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

3

boolean containsValue(Object v)

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

4

Set entrySet( )

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

5

boolean equals(Object obj)

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

6

Object get(Object k)

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

7

int hashCode( )

返回此映射的哈希码值。

8

boolean isEmpty( )

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

9

Set keySet( )

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

10

Object put(Object k, Object v)

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

11

void putAll(Map m)

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

12

Object remove(Object k)

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

13

int size( )

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

14

Collection values( )

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

实例

下面的例子来解释Map的功能

import java.util.*;public class CollectionsDemo {
public static void main(String[] args) {
Map m1 = new HashMap();
m1.put("Zara", "8"); m1.put("Mahnaz", "31"); m1.put("Ayan", "12"); m1.put("Daisy", "14");
System.out.println();
System.out.println(" Map Elements");
System.out.print("\t" + m1);
}}

以上实例编译运行结果如下:

Map Elements
{Mahnaz=31, Ayan=12, Daisy=14, Zara=8}

java中Map集合的常用方法

Map集合和Collection集合的区别

Map集合是有Key和Value的,Collection集合是只有Value。

Collection集合底层也是有Key和Value,只是隐藏起来。


【Java集合】5Java中的Map_java_02

【Java集合】5Java中的Map_映射关系_03

【Java集合】5Java中的Map_映射关系_04

【Java集合】5Java中的Map_映射关系_05

【Java集合】5Java中的Map_java_06



V put(K key, V value)

向map集合中添加Key为key,Value为value的元素,当添加成功时返回null,否则返回value。

就是说Map集合中的Key是不能重复的,这就类似于Set集合中元素不能重复,但是Map集合中的Value是可以重复。

【Java集合】5Java中的Map_映射关系_07


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

向map集合中添加指定集合的所有元素

【Java集合】5Java中的Map_map集合_08


void clear()

把map集合中所有的键值删除

【Java集合】5Java中的Map_map集合_09


boolean containsKey(Object key)

检出map集合中有没有包含Key为key的元素,如果有则返回true,否则返回false。

【Java集合】5Java中的Map_java_10


boolean containsValue(Object value)

检出map集合中有没有包含Value为value的元素,如果有则返回true,否则返回false。

 【Java集合】5Java中的Map_映射关系_11


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

返回map到一个Set集合中,以map集合中的Key=Value的形式返回到set中。

【Java集合】5Java中的Map_map集合_12



boolean equals(Object o)

判断两个Set集合的元素是否相同

 【Java集合】5Java中的Map_java_13

底层也是重写了equals方法

查看HashMap集合时,没有发现equals方法,那么我们就去找他的父类。

【Java集合】5Java中的Map_映射关系_14

【Java集合】5Java中的Map_映射关系_15



V get(Object key)

根据map集合中元素的Key来获取相应元素的Value

【Java集合】5Java中的Map_map集合_16


int hashCode()

返回map集合的哈希码值

【Java集合】5Java中的Map_map集合_17


boolean isEmpty()

检出map集合中是否有元素,如果没有则返回true,如果有元素则返回false

【Java集合】5Java中的Map_映射关系_18


Set<KkeySet()

返回map集合中所有Key

【Java集合】5Java中的Map_map集合_19


V remove(Object key)

删除Key为key值的元素

【Java集合】5Java中的Map_映射关系_20


int size()

返回map集合中元素个数

【Java集合】5Java中的Map_java_21


Collection<Vvalues()

返回map集合中所有的Value到一个Collection集合

【Java集合】5Java中的Map_map集合_22


举报

相关推荐

0 条评论