Java Map接口

在这里插入图片描述

特点

1、用于保存具有映射关系的数据 key-value(双列元素)。
2、key和value可以是任何引用数据类型。
3、Map中的key不可以重复。当有相同的key时,就等价于替换。
4、Map中的value是可以重复的。
5、Map中的key和value都可以为空。但key只能有一个空,而value可以有多个空。
6、通常String类作为Map的key。
7、key和value是一一对应关系,通过key总能找到对应的value。
8、一对key-value是放在一个Node中的,Node实现了Entry接口。

Map接口方法

import java.util.HashMap;

public class Map_01 {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        //添加 put(key,value)  putAll(Map)
        hashMap.put("num1","Mary");
        hashMap.put("num2","Tom");
        hashMap.put("num3","Jack");
        System.out.println(hashMap);
        //通过key获取value
        System.out.println(hashMap.get("num2"));
        hashMap.remove("num3");
        System.out.println(hashMap.size());
        System.out.println(hashMap.isEmpty());
        System.out.println(hashMap.containsKey("num1"));
        System.out.println(hashMap.containsValue("Jack"));
    }
}
{num1=Mary, num3=Jack, num2=Tom}
Tom
2
false
true
false

Process finished with exit code 0

遍历

1)keySet:获取所有的键
2)entrySet:获取所有关系
3)values:获取所有的值

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Map_02 {
    public static void main(String[] args) {
        HashMap map = new HashMap();
        map.put("num1","Mary");
        map.put("num2","Tom");
        map.put("num3","Jack");
        map.put("num4","Amy");
        //先取出所有的key
        Set keys = map.keySet();//keys为set,有两种方法迭代。
        for (Object obj:keys){
            System.out.println(obj+":"+map.get(obj));
        }

        //取出所有的values
        Collection values = map.values();//Collection有2种迭代方式
        for (Object obj:values){
            System.out.println(obj);
        }
        //通过entrySet获取所有的k-v
        Set entrySet = map.entrySet();
        System.out.println(entrySet);
        for (Object entry:entrySet){
            //将entry转成Map.Entry
            Map.Entry m =(Map.Entry) entry;
            System.out.println(m.getKey()+":"+m.getValue());
        }
    }
}
num1:Mary
num4:Amy
num3:Jack
num2:Tom
Mary
Amy
Jack
Tom
[num1=Mary, num4=Amy, num3=Jack, num2=Tom]
num1:Mary
num4:Amy
num3:Jack
num2:Tom

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值