黑马程序员技术交流社区

标题: 【厦门JavaEE9期——每日总结】集合第三天 [打印本页]

作者: 厦门校区    时间: 2019-7-28 20:48
标题: 【厦门JavaEE9期——每日总结】集合第三天
1.Map接口有什么特点,谈谈你所了解的Map实现类?
2.目前为止,我们所学的遍历map集合有几种方式?
3.请用自己的语言描述你所了解的集合体系
作者: 谢黄    时间: 2019-7-28 21:39
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、键不能重复,值可以重复
作者: 闵逢雨    时间: 2019-7-28 21:57

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循环。
作者: 郭伟达    时间: 2019-7-28 22:00
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有键和值,键不可重复,值可以重复
作者: 黄礼泽    时间: 2019-7-28 23:59

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    时间: 2019-7-30 09:27
1.Map接口有什么特点,谈谈你所了解的Map实现类?
一个键对应一个值,同时值可以重复键不能重复,元素存取无序。
要保证元素不重复就要重写equals()和hashcode()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式。一是用keySet()获取所有键,用增强for遍历每一个键,用get方法键找值。二是用entrySet()获取所有键值对对象,同时增强for得到每一个键值对对象后用getKey()和getValuee()得到结果。
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和多列集合。
其中list集合为单列集合,特点是有索引,可以重复,元素存取无序;set集合的特点与list集合相反,无索引,不可以重复,元素存取无序。
多列集合为map集合,其储存一对键值对,其特点是键值对映射关系;一个键对应一个值;键不能重复,值可以重复;元素存取无序。


作者: A09赵鹏    时间: 2019-7-30 09:57

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集合特点无所引,存取无需,键值一一对应,键不能重复、值可以重复。
作者: 何洪斌    时间: 2019-7-30 11:40

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
作者: 柠好    时间: 2019-7-30 16:28
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   {基于红黑树,对元素进行排序:根据键的自然顺序排序、自定义比较器排序}

——张柠




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2