Map接口使用

Map接口的使用

Map:映射

Map接口与Set,List接口的区别

1.Map添加的元素对象是以键值对的形式存在的

2.Map添加元素的方法是put(K key, V value),而不是使用add()方法

Map接口的特点:

(1)存储键值对(2)键不能重复,值可以重复(3)无序无下标

如果添加了重复的键,那么值会被后面添加的值覆盖

Map接口的重要方法

1.Set<K> keySet():返回映射中的只包含键的Set集合
2.Set<Map.Entry<K,V>> entrySet():返回映射中的键值对的Set集合
		第2个方法的内部接口Map.Entry<K,V>的方法:
		1.K getKey():返回键
		2.V getValue():返回值
3.remove(Object v):因为键不可以重复,所以通过删除键来删除整个映射
4.V get(Object K):返回指定键所映射的值
5.

因为第1第2个方法返回的都是Set集合,所以可以通过Set的iterator方法来遍历

代码实现

/**
 * Map接口的使用
 * 特点:(1)存储键值对(2)键不能重复,值可以重复(3)无序无下标
 */
public class Test {
    public static void main(String[] args) {
        //创建Map集合
        Map<String,String> map = new HashMap<>();

        //1添加元素
        map.put("cn","中国");
        map.put("uk","英国");
        map.put("usa","美国");
        map.put("cn","zhongguo");//键不能重复,所以添加失败

        System.out.println(map.size());
        System.out.println(map.toString());//{usa=美国, uk=英国, cn=zhongguo},cn的值被后面添加的覆盖了

        //2删除
        //map.remove("usa");
        //System.out.println(map.size());//2

        //3遍历
        //3.1使用keySet();
        System.out.println("===keySet()=====增强for循环==================");
        Set<String> set = map.keySet();//返回Set类型,所以可以使用迭代器
        for(String s:set){
            System.out.println(s+"-------"+map.get(s));
        }
        System.out.println("====keySet()=========迭代器=================");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next+"----"+map.get(next));
        }

        //3.2使用entrySet();
        Set<Map.Entry<String, String>> entries = map.entrySet();
        System.out.println("=======entrySet========增强for循环================");
        for(Map.Entry<String, String> entry:entries){
            System.out.println(entry.getKey()+"--------"+entry.getValue());
        }

        System.out.println("=======entrySet========迭代器================");
        Iterator<Map.Entry<String, String>> iterator1 = entries.iterator();
        while (iterator1.hasNext()){
            Map.Entry<String, String> next = iterator1.next();
            System.out.println(next);
        }

        //4判断
        System.out.println(map.containsKey("usa"));//true
        System.out.println(map.containsValue("韩国"));//false
        System.out.println(map.isEmpty());//false
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_boss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值