A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
2.目前为止,我们所学的遍历map集合有几种方式?
3.请用自己的语言描述你所了解的集合体系

26 个回复

正序浏览
1.HashMap和LinkedHashMap,都是双列集合有键和值一对组成,键是一个集合唯一的值可以不唯一。主要的区别是HashMap存储的顺序是不确定的,而LinkedHashMap的存储可以做到顺序是一样的。

2.2种,一个是通过调用ketSet方法类创建一个Set集合后通过Set集合用迭代器或增强for来遍历,一个是通过调用entrySet方法通过Set集合匿名类别类对象通过Set集合用迭代器或增强for来遍历。


3.集合体系分为单列集合List,Set和双列集合Map。而Liist是有序的,有索引,允许元素重复,Set是无序,无索引的,不允许元素重复。Map有键和值一对组成,键是一个集合唯一的值可以不唯一。
回复 使用道具 举报
官启文
1.Map接口下有几个子类,各自有什么特点?
HashMap   双列集合 存储键值对的 无序的
LinkedHashMap   HashMap子类  哈希表结构+链表 可以保证顺序

2.目前为止,我们所学的遍历map集合有几种方式?
1,获取键值,储存到Set集合,通过键值找值值
2,键值对, 获取键值对对象entry,通过对象找到对应的键值和值值。

3.请用自己的语言描述你所了解的集合体系

                                                 Collection
         接口       List    有序    有索引可重复                       Set   无序 无索引 不可重复
ArrayList  LinkedList 和vector                            HashSet  LinkedHashSet TreeSet

       接口  Map   键值对 键可以重复 值会被替代
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
(1)HashMap类:储存数据是通过哈希表结构,所以元素的存取顺序不能保证一致,为保证键的唯一性、不重复需要重写键的hashCode()方法、equals()方法。
(2)LinkedHashMap类;他为HashMap类下的一个子类,通过储存数据是通过哈希表和链表结构,保证了元素的存取顺序,为保证键的唯一性、不重复也需要重写键的hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
(1)Map集合中因为元素的键具有唯一性,所以获取集合中元素的键建立Set集合,遍历Set集合中的键,通过键来获取值;
(2)通过entrySet()获取Map集合中所有的键值对(Entry)对象,以Set集合形式返回,遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象,通过键值对(Entry)对象,获取Entry对象中的键与值。
3.请用自己的语言描述你所了解的集合体系
集合中主要为两个大类,一个为单列集合:Collection,和双列集合:Map。其中单列集合中又分为两类,一个为List接口,其子类元素可重复,存取有序且可进行索引查询;另外一个为set接口,其子类元素具有唯一性,且存取无序无索引,为保证元素的唯一性需重写hashCode和equals方法。为保证元素的存取顺序可以通过LinkedHashSet类,其存储数据是通过哈希表和链表结构。双列集合为Map接口,其子类HashMap类不能保证元素的存储顺序,但是可以通过LinkedHashMap类来保证元素的存储顺序,它的子类集合元素具有键和值,由于键具有唯一、不重复性,所以可通过键来得到值。
回复 使用道具 举报
吴香斌

1.Map接口下有几个子类,各自有什么特点?
1)HashMap,是一个采用哈希表实现的键值对集合,是Map接口的主要实现类,特点如下:
   a.由于底层为哈希表数据结构同时兼具查询和增删优势,所以HashMap的查询和增删都比较快.
   b.元素是无序的(所谓的无序指的是存储与获取顺序不一致)
   c.由于Map接口没有继承iterable接口,所以Iterable接口特有的迭代器无法使用,所以Map集合的迭代需要先转化为Set集合.
2)LinkedHashMap,是HashMap的子类,是有HashMap和双向链表组成的,是有序的HashMap.
   
2.目前为止,我们所学的遍历map集合有几种方式?

1) 通过Map.keySet, 返回的是key值的Set集合,然后通过调用get(key)方法,得到对应value值,再遍历Set集合,就实现了遍历Map集合.
2) 通过Map.entrySet,返回的是Entry键值对Set集合,然后通过Entry对象调用getKey和getValue方法,获取对应键和值,再遍历Set集合,就实现了遍历Map集合.
3) 通过Map.values,返回的是values值的Collection集合,只能遍历value值

3.请用自己的语言描述你所了解的集合体系

目前已经学习的集合体系有Collection和Map两种体系.
Collection集合是单列集合,只能同时存储一种类型的数据.
Map集合是key-value映射关系的双列集合,可以同时存储两种类型的数据.
在选择集合的时候,可以参考下面的选择方式:
1)List集合类:当需要查询和有序的遍历的时候,使用ArrayList. 当还需要大量增删工作的,使用LinkedList集合.
2)Set集合类:当需要保证元素唯一性时,或者需要对一些元素进行相同元素过滤时,可以使用HashSet集合.如果还要求有排序功能,使用LinkedHashSet
3)HashMap集合类:当需要两种元素进行一一对应时,可以使用HashMap,存取是无序的. 需要存取有序的,使用LinkedHashMap.


回复 使用道具 举报
林焕
1.Map接口下常用的子类有HashMap和LinkedHashMap;

HashMap特点:存储数据采用的哈希表结构,由于要保证键的唯一、不重复,需要重写键hashCode()方法、equals()方法;

LinkedHashMap特点:存储数据采用的哈希表结构+链表结构,通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法;

2.有2种遍历map集合方式;
一:keySet方式:通过获取map集合中键的集合,然后遍历键的集合,再遍历键和键映射的值;

二:entrySet方式:获取map集合中所有键值对对象的set集合,然后遍历set集合中getKey()和getValue();

3.目前所学的集合体系为两个大类,一是Collection为基类的单列集合,二是Map为基类的双列集合;

Collection子类有List(特点:有序有索引允许重复)和Set(特点:无序无索引不允许重复);
List子类有ArrayList(特点:查询快,增删慢)、LinkedList(特点:查询慢,增删快)和Vector(特点:线程安全,效率不高);
Set子类有HashSet(子类有LinkedHashSet)和TreeSet;

Map子类有HashMap和LinkedHashMap;Map集合主要的特点是元素由键和值组成,键是唯一的不重复,每个键都映射着与之对应的值且每个键只能有一个值;
回复 使用道具 举报
谢精良

1 常用的有:HashMap  存取顺序不一致  数据结构为哈希表
LInkedHashMap 存取顺序  为hashmapde子类

2  entrySet和 keySet
3 单列结合顶层接口Collection  子接口为List和Set  List的子实现类有ArrayList LinkedList Vector  Set的子实现类有HashSet(子类Linkedhashset) TreeSet
双列集合接口Map 常用实现类有HashMap(子类linkedhashmap)
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是哈希表,元素存取无序
LinkedHashMap:底层是链表+哈希表,元素存取有序


2.目前为止,我们所学的遍历map集合有几种方式?
由于Map没有实现Iterable接口,所以无法直接用增强for循环直接遍历;

a.通过他的KeySet方法获取K(键)集合,再通过增强for或者Iterator迭代器遍历集合,配合Map集合的get(K)方法返回的V值以达到遍历效果

b.调用entrySet方法将键值对封装成enrty对象,返回一个装有enrty对象的Set集合。再通过增强for或者迭代器配合enrty对象的getKey和getValue方法获取entry中的K和V的值;


3.请用自己的语言描述你所了解的集合体系

集合就像一种容器,用来装东西用的,不同的集合含带的功能和能装的东西也不一样。
像Collection,Map这两个容器,算是它们底下所有子接口,子实现类的容器雏形,刚开发出来作为容器使用,功能并不完善,随着存入元素的多样化,需求的日益增多,于是在原来两个根容器基础上又开发了含有其他功能的容器,这些容器除了拥有他们祖宗的特性外,还拥有属于自己的特点。如List,Set,除了拥有Collection的功能(方法)外,自身的特丶也很明确-----有序有索引和无序无索引;
而在这两之后的Arraylist--linkedList...HashSet---LinkedHashSet...等等这些底层存储方式不同,功能更加强大的容器,更是大大提高了元素存取的效率以及存取方式的多样性。

Collections-----Collection的工具类
容器的外部工具,用来提高元素的存取效率,并且可以根据需求对容器内的元素进行一些操作
举个栗子,譬如取款机(ArrayList),存一千进去,一百一百的存,铁定没有直接存一千进去来得快。这个存一千进去的方法就相当于addAll,极大减少了容器储存元素的步骤。(栗子举得可能不是很恰当。。)

最后说说泛型,泛型则类似于在容器上添加标签。表示该容器只能存入此类元素,从而使得元素的分类存储井然有序。


感觉今晚的总结贼能扯。。。


回复 使用道具 举报

王博


1.Map接口下有几个子类,各自有什么特点?
HashMap:采用哈希表结构,元素存取无序,元素不重复(需要重写hashCode()和equals()方法)
LinkedHashMap采用哈希表+链表结构,元素存取有序,元素不重复(需要重写hashCode()和equals()方法)


2.目前为止,我们所学的遍历map集合有几种方式?
键找值:通过keySet()方法,将键集合中所有的键key添加到set集合中,遍历set集合,通过get()方法获取每个键所对应的值
键值对:通过entrySet()方法,将键key和对应的值value封装成为一个Entry对象,然后通过对象调用getKey(),getValue()方法

Collection

3.请用自己的语言描述你所了解的集合体系
集合分为单列集合Collection和双列集合Map

Collectiony分为List和Set
List是有序的,可重复的,有索引,其中又分为ArrayList,LinkedList
Set是无序的,不可重复,无索引,其中又分为HashSet,LinkedHashSet

Map分为HashMap,LinkedHashMap


回复 使用道具 举报
洪文生
1.Map接口下有几个子类,各自有什么特点?
Map接口下常用的有HashMap类和LinkedHashMap类两个子类
HashSet采用的是哈希表结构存储数据,元素的的存取顺序不能保证一致。由于要保证键的唯一,需要重写hashCode和equals方法。
LinkedHashMap类是继承于HashMap类,多了一个链表结构保证了存取顺序的一致。

2.目前为止,我们所学的遍历map集合有几种方式?
三种。第一种,键找值方式,通过调用keySet方法获得Map集合k值的Set集合,再遍历Set集合(增强for或者迭代器);第二种,键值对(entry)方式,通过entrySet方法获得Map集合的entry对象的集合,在进行遍历

3.请用自己的语言描述你所了解的集合体系
集合分为单列集合{Collection}和双列集合(Map),单列集合有两个子接口Set和List,Set接口是无序,无索引,不可重复的,List接口是有索引,有序,可重复的,在List和Set接口的下面还有几个实现类,他们的特殊点在于他们采用的数据结构不一样。Map集合与Collection集合不同的地方是Map集合每次可以存储一对数据(k值和v值);除此之外,还有Collections工具类的应用
回复 使用道具 举报
1.有两个,HashMap跟linkedHashMap;
  HashMap是哈希表结构,元素是键值对,键的值是唯一的,需要重写HashCode方法跟equals方法,元素存取不一致
  linkedHashMap是哈希表加链表结构,键的值是唯一的,需要重写HashCode方法跟equals方法,元素存取顺序一致
2.两种。entrySet跟keySet。
3.集合分为单列集合跟双列集合,单列集合的父接口是Collection,子接口有List跟Set
  List集合是有序有索引可以重复,Set集合无序无索引不可以重复;
  List包含的有Arraylist、LinkedList、Vector;Arraylist是数组结构,查找快,增删慢;LinkedList是链表结构,查找慢,增删快;
  Set包含HashSet、LinkHashSet;
  双列集合是Map,存取的是键值对,键是唯一的,值可以重复,子类有HashMap跟linkedHashMap
回复 使用道具 举报
贾宗虎

1.Map接口下有几个子类,各自有什么特点?

  有HashMap和LinkedHashMap两个子类.

  两个子类共有的特点是:Map是双列集合,每个元素为键和值.键和值的关系叫 映射,其中键不可重复,值可以重复.键和值都可以是自定义类型.当键的数据是自定义类型的时候,一定要重写类型的hashCode()和equals()方法.保证元素的唯一性.值是自定义类型的时候可以不用重写.
  不同特点是:
  HashMap子类存储的数据,做不到存取顺序一致
  LinkedHashMap存储的数据,可以做到存取顺序一致

2.目前为止,我们所学的遍历map集合有几种方式?
  
  keySet()和entrySet()两种方式都是讲map集合的数据,存储到Set集合中来实现遍历.
  keySet()方法是创建一个Set集合,存储map中的键,遍历键的Set集合,用得到的键,map.get(键)获取每一个值,
    从而实现遍历map集合
  entrySet()方法是创建一个Set集合对象,将每一个键值对封装起来,储存致Set集合中.遍历Set集合获得键值对对象,
    调用getKey()和getValue()方法,实现遍历map集合
  遍历两种Set集合可以使用以下两种方式
  ①创建集合的Iterator迭代器对象.使用hasNext() 和 next()方法来实现遍历.
  ②增强for循环

3.请用自己的语言描述你所了解的集合体系

  首先,数据结构分为:堆栈,队列,数组,链表,红黑树.
  集合是一个容器,通过使用不同的数据结构来存储数据.
  其次,单列集合的顶级接口是Collection,双列集合顶级接口是Map
    Collection下有List和Set两个子接口,
      List集合的特点是有序,有索引值,可重复的.
        List集合下有三个子实现类:ArrayList,LinkedList,Vector
        ArrayList集合底层是数组实现的,特点是:查找快,增删慢.
        LinkedList集合是链表结构.特点是查找慢,增删快.
        Vector集合老师说快被淘汰了,暂时不用管.
      Set集合相反,是无序,无索引,不可重复的.
        Set接口下有两个实现类:HashSet和LinkedHashSet
        HashSet类的特点是存取顺序不保证一致.
        LinkedHashSet类的特点是保证存取顺序的一致.
  Map是双列集合的顶级接口,有两个子类:HashMap和LinkedHashMap
     Map的特点是每个元素由键和值构成.键和值是映射关系.两者都可以存放自定义类型,
    其中当键是自定义类型的时候,需要重写比较方法,已保证不重复.值可以重复,所以不需要重写.
    遍历用keySet()或entrySet()方法.使用方式参考上一题..
    HashMap类的特点是不保证存取顺序一致
    LinkedHashMap类的特点是保证存取顺序的一致.




回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?

Map:子类中HashMap存储和添加的顺序不一样;
LinkedHashMap存储和添加的顺序一致


2.目前为止,我们所学的遍历map集合有几种方式?

一种通过获取键集合的Set集合,然后再变相遍历Set集合方式遍历;
另一种是获取到键对值的Entry Set集合遍历

3.请用自己的语言描述你所了解的集合体系

Collcetion:单列集合包含List和Set集合 ,List和Set又有各自的实现类,分别采用
不同的数据存储方式,各有优点;
Map:双列集合通过键值对存储,键值唯一,值可以不同
回复 使用道具 举报

今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
Map接口下有两个子类
Hashmap类,使用Hash表存储结构,元素的存取顺序不能保证一致;
Linkedhashmap类,使用链表和Hash表结构,元素的存取顺序保持一致。
2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式,
键找值方式:即通过元素中的键,获取键所对应的值
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
3.请用自己的语言描述你所了解的集合体系
集合分为单列结合Collection接口下的和双列集合Map接口下的
Collection接口下又有List和Set接口,List接口下的集合中元素有序,有索引,元素可以重复;Set接口下的集合中元素无序,无索引,元素不可以重复
Map接口下集合都有两个泛型变量,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量的数
据类型可以相同,也可以不同;两个泛型变量分为键和值两部分,其中键不能重复,值可以重复。
回复 使用道具 举报
黄希

1.Map接口下有几个子类,各自有什么特点?
        Map接口下主要有HashMap和LinkedHashMap两个实现类,都是以键值对的形式进行存储。要保证键唯一,必须重写hashCode()方法与equals()方法。
        HashMap:哈希表结构,元素的存取顺序不一致。       
        LinkedHashMap:链表+哈希表结构,元素的存取顺序一致。

2.目前为止,我们所学的遍历map集合有几种方式?
        Map集合有两种遍历方式:
        1、Map集合先调用keySet()方法获取集合中所有元素的键,返回Set集合,再使用迭代器或增强for循环遍历该集合,调用Map集合的get()方法,根据指定的键获取对应的值。
        2、Map集合先调用entrySet()方法,返回Set<Map.Entry<K,V>>集合,再使用迭代器或增强for循环遍历该集合,通过集合元素的getKey()方法获取键,getValue()方法获取值。

3.请用自己的语言描述你所了解的集合体系
        集合分为Collection单列集合和Map双列集合。
       
        Collection接口下有List接口和Set接口
        List接口主要的实现类有ArrayList、LinkedList和Vector。
        List集合的特点是有序、有索引、允许有重复元素。
        Set接口主要的实现类有TreeSet、HashSet和HashSet的子类LinkedHashSet。
        Set集合的特点是无序、无索引、不允许有重复元素。
       
        Map接口主要的实现类有HashMap和HashMap的子类LinkedHashMap。
        Map集合的特点是元素都是以键值对的形式进行存储,键唯一,值可以重复。

回复 使用道具 举报
林梅源
1.Map接口下有几个子类,各自有什么特点?
HashMap 无序的,采用的是Hash表结构,输入和输出的顺序不能保持一致。
LinkedHashMap  无序的,采用的是Hash表结构和链表结构,输入和输出的顺序保持一致
2.目前为止,我们所学的遍历map集合有几种方式?
1、通过键来找值 keySet()方法
2、通过值来找键 entrySet()方法
3.请用自己的语言描述你所了解的集合体系
单列:collection<E> 单独存在,有序的,有索引
双列:Map<E,M>成对存在,键是唯一的,值可以不是唯一的,无序的,无索引
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?

Map常用的实现类有HashMap,其特点是:以键值对来存储数据,并且key不可以重复,而value可以重复。HashMap 和LinkedHashMap的区别是,LinkedHashMap存储元素是按照添加的顺序。而HashMap的存储是无序的。

2.目前为止,我们所学的遍历map集合有几种方式?

(1)通过keySet返回的键值集合通过get(key)方法来达到遍历的效果。
(2)通过entrySet返回的Map.Entry集合在通过遍历该集合获得得到Entry对象调用对象的getKey()和getValue()方法达到遍历的效果。

3.请用自己的语言描述你所了解的集合体系

集合体系有两大分支,单列Collection集合、双列Map集合。其中Collection中常用的接口有List和Set接口。List的实现类的特点是:有序、有索引、允许重复。而Set的实现类的特点是:无序、无索引、不允许重复。Map集合常用的实现类是HashMap,它的特点是key不允许重复,而值可以允许重复,其将元素存入集合中的顺序是无序的如果要实现集合中的顺序和添加的顺序保持相同,应该创建其子类LinkedHashMap。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?map接口底下较常用的实现类有HashMap以及LinkedHashMap
HashMap存入跟取出是无序的.
LinkedHashMap的数据结构是链表结构,存取元素有顺序.

2.目前为止,我们所学的遍历map集合有几种方式?
keySet方法,通过此方法得到一个set集合返回值(因为key是唯一的),之后再用get方法通过得到的key集合去遍历.
entrySet方法,通过此方法将map集合里的键值对存储成键值对对象,得到一个set集合(参数为Map.Entry的内部类对象),之后再通过增强for循环去调用对象的get方法来遍历键值.

3.请用自己的语言描述你所了解的集合体系

集合体系有单列Collection集合和双列Map集合,单列中间又包含list跟set两个类,list的特点是有序,有索引,允许重复,可以调用shuffle和sort方法,set的话无序,无索引,不允许重复.
双列集合map集合存储的数据为键值对,一次成对的去存取,键是唯一的,值可以重复,中间entry方法很重要,将集合里的元素封装成对象,可以灵活调用.


回复 使用道具 举报
梁端刚
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下有多个子类,常用的有HashMap和LinkedMap。
HashMap:存储数据采用的哈希表结构,数组+链表或红黑树结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需 要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链 表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
两种方式:i根据键找值:遍历keySet方法,使用get方法
                 ii根据键值对对象:entrySet()方法
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合与双列集合。
单列集合的顶层接口为Collection接口,
分别有两个常用子接口List接口(有序,有下标,可重复)与Set接口(无序,去重),
List接口下三个常用实现类ArrayList(数组接口,线程不安全),Linkedlist(链表结构,线程不安全),Vector(线程安全,但效率低),
Set接口下有两个常用实现类HashSet(哈希表实现唯一性)及其子类LinkedHashSet(哈希表实现唯一性,链表实现存储排序)与TreeSet(树形结构实现唯一性)
双列集合的顶层接口为Map接口(无序),有多个实现类,其中常用的有HashMap及其子类LinkedHashMap。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap  无序 键唯一  键 值 都可为null    数据结构  哈希表
        LInkedHashMap 有序
TreeMap  数据结构  二叉树
2.目前为止,我们所学的遍历map集合有几种方式?
entrySet  keySet
3.请用自己的语言描述你所了解的集合体系
Collection
---List(ArrayList LinkedList Vector)
---Set(HashSet TreeSet)
Map
---HashMap
---TreeMap
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马