Map集合简介

一:特点

             1.集合中是键值对的关系,且key是唯一的,不能重复,value可以重复

 

二:常见子类

1.Hashtable

   特点 : 底层是哈希表结构,不能存入null键null值,线程安全,jdk1.0效率低,用于键的对象必须实现hashcode和equals方法

问题:Hashtable的键可以是int类型吗?

     答:不行,因为集合中只能存入对象,不能存入基本数据类型(数组既可以存入基本数据也可以存入引用数据类型),

平时我们hashtable.add(1,"tu");这里其实是有个自动装箱的过程,相当于hashtable.add(new Integer(1),"tu");

 

2.HashMap 

   特点:底层是哈希表结构,允许使用null键null值,线程不安全,jdk1.2效率高,与Hashtable基本相同

3.TreeMap

    特点:底层是二叉树结构,线程不安全,可以给map集合中的键进行排序,键的对象也需要有比较性,如果

               键没有比较性则必须给TreeMap传入一个比较器。

 

与set集合很像,其实set集合底层用的就是map集合

 

三:Map.Entry实际上是Map集合内部的一个接口

interface Map{

       public static interface Entry{
              public abstract Object getKey();
              public abstract Object getValue();
       }

}

class HashMap implements Map{

      class hash implements Map.Entry{
            public Object getKey(){}
            public Object getValue(){}
      }

}

二:Map遍历的方式:

1.通过keySet()方法取出map集合所有key的set集合,然后通过set集合的迭代器取出所有的key,继而取出值

2.通过entrySet()方法取出map集合中key和values关系的set集合,该集合中是Map.entry对象

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值