传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区 黑马粉丝团   /  2019-7-28 20:48  /  81 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.Map接口有什么特点,谈谈你所了解的Map实现类?
2.目前为止,我们所学的遍历map集合有几种方式?
3.请用自己的语言描述你所了解的集合体系
分享至 : QQ空间
收藏

8 个回复

倒序浏览
1.Map接口有什么特点,谈谈你所了解的Map实现类?
特点: 1、元素存取是无序的   2、一个键对应一个值
            3、键值对是映射的关系 4、键不能重复,值可以重复
Map实现类:HashMap 该实现提供了所有可选的映射关系,并允许null值和null密钥
                   TreeMap 一个基于红黑树的NavigableMap实现。 该地图根据其键值的natural   ordering或地图创建时提供
                   的Comparator进行排序,具体取决于使用的构造函数
2.目前为止,我们所学的遍历map集合有几种方式?
两种:根据键找值:  
      1、获取该MAP集合中的所有键
      2、遍历该set集合,每获取一个键,就通过该键获取对应的值
      通过映射关系获取:
      1、县调用entrySet()方法,获取到集合的映射关系duixiag,该对象是一个内部接口实现      类对象,包含了键和值的信息
      2、调用该对象中的两个方法,获取键和值
       K getKey()返回与此项对应的键
       V getValue()返回与此项对应的值
3.请用自己的语言描述你所了解的集合体系
  集合  单列集合继承 collection接口
        然后分
        1、list接口  具有可重复 、存储有序、有索引值 特点
        2、set接口   具有不可重复 、存储无序、无索引值 特点
       
        双列集合 Map
        通过map集合获取对应的键值对
        一种是键找值  另一种是通过映射关系找键值对
        特点
        1、元素存取是无序的   2、一个键对应一个值
        3、键值对是映射的关系 4、键不能重复,值可以重复
回复 使用道具 举报

1.Map接口有什么特点,谈谈你所了解的Map实现类?
    Map接口都是以Key,value关系存储的,一一对应,且Key不能重复,无序,无索引。
    1.hashMap是不能使用迭代器和增强for循环直接去遍历的。
    2.hashMap的底层是hash表,类似于hashSet。只不过hashSet是单层列表,而Map集合是Key和Value采用映射关系储存的列表。
    3.hashMap也是存取无序的,无索引,键不能重复,每个键只能映射一个value。
2.目前为止,我们所学的遍历map集合有几种方式?
    两种。
    一种keySet,获取所有键的Set集合,再遍历所有键的集合,使用Map集合的V get(int index)方法区得到值,完成遍历。
    第二种entrySet,获取所有键和值的映射关系集合,调用Map中的Set(Map.Entry<K key,V value>) entrySet方法,获得所有键值的映射关系,再使用增强for循环遍历此Set集合,得到映射关系,再使用K getkey()和V getValue()方法获得键和值。
3.请用自己的语言描述你所了解的集合体系
    单列集合的老祖宗是Collection接口,在此接口中只有没有索引的方法。
       下一层分别由Set接口,List接口。
           Set接口的子类大多数是无序,无索引,不可重复单列集合的父类,它的子类都没有索引。
                它的子类有hashSet无序,无索引不可重复。底层是数组和链表组合,当链表上的元素超过8个时,链表会重构为红黑树。
                TreeSet有序集合使用TreeSet集合必须定义排序规则,无索引,不可重复。.....
           List接口的子类是有序,有索引,可重复的单列集合的父类,它的子类都有索引。
                子类LinkedList-增删快查询慢,由于地址空间不连续,所以查找慢,但是由于是链表结构所以增删快。
                子类ArrayList-增删慢查询快,底层是数组,由于地址空间连续,所以查找快,同样由于是数组增删慢。
    双列集合的父类Map接口,所有实现Map接口的子类都是以Key,Value形式存储的。
                子类hashMap,键和值是一一对应的关系,键不可重复,集合无序,Map集合无索引,不能直接使用增强for循环。
回复 使用道具 举报
1.Map接口有什么特点,谈谈你所了解的Map实现类?
    (1)键和值是一一对应的
    (2)键不可以重复,值可以重复,重复的值会替换这个键原来的值
    (3)存取无序
    如果我们想要保证元素的唯一性的时候就必须重写hashCode和equals两个方法
   
2.目前为止,我们所学的遍历map集合有几种方式?
    两种方式
    (1)根据键找值:
      【1】先调用 keyset()方法,获取到键的Set集合
      【2】遍历Set集合,获取到集合的每个键
      【3】调用get(K k),通过键获取对应的值
    (2)映射关系遍历
      【1】调用entrySet()方法,获取映射对象
      【2】获取这对象的映射关系
      【3】遍历集合调用getKey()和getValue方法

3.请用自己的语言描述你所了解的集合体系
    集合分为单列集合和双列集合
    单列集合的顶层是Collection接口其子类为List接口和Set接口
    List接口有ArrayList和linkedList两个实现类可以存储重复的元素底层是数组
    Set接口,元素不可重复,无索引值,存取无序,底层是哈希表
    双列集合目前连接到的有Map集合,HashMap有键和值,键不可重复,值可以重复
回复 使用道具 举报

1.Map接口有什么特点,谈谈你所了解的Map实现类?
特点:
1.键值映射关系,一一对应。
2.无索引
3.键不可以重复,值可以重复
4.存取无序。
Map的实现类HashMap,以键值对的形式存在,存取无序.
2.目前为止,我们所学的遍历map集合有几种方式?
两种方式:
【1】通过HashMap方法keySet()获取所有的键对象形成一个Set集合,在通过增强for循环遍历出每个键,
再通过HashMap的get()传入键的方式获取到所有值。
【2】通过HashMap的enteySet获取所有的键值对象形成一个Set集合,
再通过for循环和getKey和getValue方法获取到所有的键和值。
3.请用自己的语言描述你所了解的集合体系
集合分为单例集合和双列集合
单列集合分为LIst集合和Set集合,List集合可出现重复元素,存取有序,有索引,Set集合与它相反。
双列集合为Map集合,特点为键值映射关系,无索引,键不可以重复,值可以重复,存取无序。
回复 使用道具 举报
1.Map接口有什么特点,谈谈你所了解的Map实现类?
一个键对应一个值,同时值可以重复键不能重复,元素存取无序。
要保证元素不重复就要重写equals()和hashcode()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式。一是用keySet()获取所有键,用增强for遍历每一个键,用get方法键找值。二是用entrySet()获取所有键值对对象,同时增强for得到每一个键值对对象后用getKey()和getValuee()得到结果。
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和多列集合。
其中list集合为单列集合,特点是有索引,可以重复,元素存取无序;set集合的特点与list集合相反,无索引,不可以重复,元素存取无序。
多列集合为map集合,其储存一对键值对,其特点是键值对映射关系;一个键对应一个值;键不能重复,值可以重复;元素存取无序。

回复 使用道具 举报

1.Map接口有什么特点,谈谈你所了解的Map实现类?
(1)存储无序
(2)无所引
(3)键不能重复,值可以重复
(4)键和值一一对应
Map集合实现类HashMap,底层是哈希表,保证键的唯一性和元素存取无序。
2.目前为止,我们所学的遍历map集合有几种方式?
有2种方式
(1)调用keySet()方法,得到集合中所有键,然后再遍历集合中的键,通过键得到集合中所有的值
(2)调用entryset()方法,得到集合所有的键值对对象,然后遍历键值对,通过getkey()和getvaule()方法得到键和值
3.请用自己的语言描述你所了解的集合体系
(1)集合分为单列集合Collection和双列集合Map。
(2)Collecton集合下包含List集合和Set集合,Map集合下包含了HashMap集合
(3)List集合下包含ArrayList集合和LinkedList集合
(4)Set集合包含了HashSet和TreeSet集合
List集合特点可重复,存取有序,有索引,Set集合特点正好相反。
Map集合特点无所引,存取无需,键值一一对应,键不能重复、值可以重复。
回复 使用道具 举报

1.Map接口有什么特点,谈谈你所了解的Map实现类?
Map接口是一种双列集合。
特点:(1)键值一一对应
          (2)无索引值
          (3)键不可重复,值可以重复
          (4)存取无序
Map实现类:
            (1)HashMap 底层是Hash表,保证键值存取的唯一性。
              (2)   TreeMap 可以对键值按照一定顺序进行排序
2.目前为止,我们所学的遍历map集合有几种方式?
  遍历方式两种:(1)调用keySet()方法获取集合中所有的键的set集合,遍历键集合获取对应的键,利用键得到值
                          (2)调用entryset()方法获取所有键值对象的集合,遍历集合获取对应的对象,利用对象调用getKey() 和getValue方法获取键和值。
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合:
单列集合:是Collection类的子类,分为List和Set,list下面有子类ArrayList和LinkedList,Set下面有子类HashSet和TreeSet
双列集合:属于Map集合接口的实现类,有HashMap和TreeMap
回复 使用道具 举报
1.Map接口有什么特点,谈谈你所了解的Map实现类?
(1)Map集合的特点
      【1】键值对映射关系
      【2】一个键对应一个值
      【3】键不能重复,值可以重复
      【4】元素存取无序
(2)Map实现类 HashMap
      【1】HashMap继承了Map接口 ,所以HashMap能够调用Map中的方法
      【2】HashMap的键,底层是哈希表,特性就是存取无序、不可重复、无索引值
      【3】作为值的类,因为不要求唯一,所以类可以不重写hashCode和equals方法;
              而作为键的类,因为要保证唯一性,必须重写hashCode和equals这两个方法

2.目前为止,我们所学的遍历map集合有几种方式?
(1)第一种
      【1】获取所有键的集合,用keySet()方法实现
      【2】遍历键的集合,获取到每一个键,用增强for实现
      【2】根据键去找值,用get(Object key)方法实现
(2)第二种
      【1】获取所有键值对对象的集合,用entrySet()实现
      【2】遍历键值对对象的集合,得到每一个键值对对象
      【3】根据键值对对象获取键和值,用getKey()得到键,用getValue()得到值

3.请用自己的语言描述你所了解的集合体系
集合类体系结构:
    【接口】    -->    [ 实现类 ]
      (共性)      -->      { 特性 }
【1】单列:Collection  (无索引值方法)
      【1】List(存取有序、有索引值、可重复)
        [1] ArrayList   {底层是数组,查询快、增删慢}
        [2] LinkedList {底层是链表,查询慢、增删快}
      【2】Set(存取无序、无索引值、不可重复)
        [1] HashSet    {底层哈希表}
                [1] LinkedHashSet  {存取有序}
        [2] TreeSet     {基于红黑树,对元素进行排序:自然排序、自定义比较器排序}
【1】双列:Map(存取无序、无索引值、键不能重复,值可以重复、一个键对应一个值)
       [1] HashMap  {哈希表只对键生效}
        [1]LinkedHashMap  {存取有序}
       [2] TreeMap   {基于红黑树,对元素进行排序:根据键的自然顺序排序、自定义比较器排序}

——张柠
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马