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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2019-3-23 15:15  /  6083 人查看  /  68 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需 要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。
通过链 表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。

2.目前为止,我们所学的遍历map集合有几种方式?
keyset() 键找值和?entrySet() : 键值对对象
3.请用自己的语言描述你所了解的集合体系
Collection是所有集合的接口,他下面有两个比较重要的集合:List和Set集合,List集合下面也有三种比较重要的集合:ArratList,LinkedList和Vector;
Set下面也有三种比较重要的集合:HashSet LinkedHashSet和TreeSet。这些都是单身集合。还有一种Map集合是对象集合,顾名思义就是有两种元素的集合,
他的下面也有比较重要的三种集合:HashMap  LinkedHashMap和 Hashtable
回复 使用道具 举报
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
HashMap无序的
LinkedHashMap有序的
HashTable键和值不能为null

2.目前为止,我们所学的遍历map集合有几种方式?
两种keyset  键找值 调用keyset方法返回见得set集合
entryset  调用entryset方法返回见得键值对对象
3.请用自己的语言描述你所了解的集合体系
单列collection集合包含list和set两个接口,
1  list中包含linkedlist,arraylist和vector三个实现类,;list集合是有序的,含有索引值,元素可重复
2  set包含hashset和linkedhashset(有序的)两个实现类,set集合不含索引值,里面的元素的不可重复的因为调用了equals和hashcode方法
双列集合map包含HashMap和LinkedhashMap两个实现类
1  HashMap集合的底层是哈希表结构,所以查询速度特别快,但是因为是多线程,不安全。他是一个储存无序的集合。
2  LinkedHashMap集合的底层是哈希表+链表结构,查询速度也很快,但是是一个储存有序的集合。
回复 使用道具 举报
陈开明:
1.Map接口下有几个子类,各自有什么特点?
Map接口下有HashMap和LinkedHashMap的
HashMap:存储数据采用的是哈希表结构,哈希表由数组和链表/红黑树组成。元素的存取顺序不能保证一致。由于要保证键的唯一,不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap是HashMap的子类,存储结构为哈希表结构+链表结构。通过链表可以保证元素存取顺序一致;通过哈希表结构可以保证键的唯一,不重复,需要重写键的hashCode()方法,equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
map.entrySet()获得键值对集合,再通过迭代器或增强for来遍历map集合。
map.keySet()获得键值集合,再通过迭代器或增强for来遍历map集合。
3.请用自己的语言描述你所了解的集合体系
集合有两大体系:Collection和Map集合。
Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。
Collection集合包含List接口集合和Set接口集合。List集合是有序的,元素可重复,有具体索引值。List集合包含Vector、ArrayList和LinkedList.ArrayList集合底层是数组结构,查询快,增删慢;LinkedList集合,底层是链表结构,查询慢,增删快。Set集合元素是不可重复的,底层是哈希表结构。其中HashSet集合元素是无序的,而LinkedHashSet里元素是有序的,因为它底层数据结构多了一条链表记录顺序。
Map集合包含HashSet和LinkedHashSet.
HashSet底层是哈希表结构,数组+单向链表/红黑树结构,查询的速度特别快。
LinkedHashMap集合底层是哈希表+链表,LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的.
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
Map接口下的子类有3个:
HashMap:1.查询速度快,因为底层结构是哈希表;2.无序集合;
LinkedHashMap:1.底层结构是哈希表加链表,是一个有序集合;2.继承自HashMap,查询速度快;
Hashtable:1.底层结构是哈希表;2.线程比较安全;3.单线程集合,速度慢,在JAVA1.2后被其他集合取代

2.目前为止,我们所学的遍历map集合有几种方式?
方式一:通过key键来查找value值
        步骤:1.使用MAP集合中的keySet()方法把所有key存储到一个集合中
              2.遍历这个集合,获取每一个key(增强for或者迭代器)
              3.通过get(key)方法获取value
              4.打印
方式二:使用entry对象来遍历方法
        步骤:1.使用entrySet()新建一个Set集合,存储entry对象
              2.遍历这个集合,获取每个ntry对象(增强for或者迭代器)
              3.使用 对象.getKey()和对象.getValue()  方法获取key键和value值
              4.打印

3.请用自己的语言描述你所了解的集合体系
集合体系氛围单列集合和双列集合

单列集合里最大的是Collection
Collection有两个实现类:
1.List集合:有序,有索引值,允许重复元素存储
    List集合有三个子类:
       1.ArrayList集合:查询快,增删慢,数据结构为数组
       2.LinkedList集合:增删快,查询慢,数据结构为链表
       3.Vector集合:安全性高,效率低,JAVA1.2后被ArrayList取代
2.Set集合:没有索引,不允许重复元素存储  
    Set集合下有个子类——HashSet集合:不允许存储重复元素,没有索引,无序集合,数据结构为哈希表(数组+链表/红黑树)
    HashSet集合下有个子类——LinkedHashSet集合:在哈希表的基础上多了一条链表来记录元素顺序,因此LinkedHashSet集合是有序的,但是也不允许存储重复元素,没有索引

双列集合里最大为Map:一个元素有两个值key和value;key和value的数据类型可以相同,也可以不同;key是不允许重复的,value是可以重复的;key和value是一一对应
Map有两个实现类:
1.HashMap集合:数据结构为哈希表,也是一个无序集合,多线程,速度快
       HashMap集合有个子类——LinkedHashMap:数据结构:哈希表上多了条链表,因此有序
2.Hashtable集合:底层也是一个哈希表,安全性高,但是是单线程,速度慢,JAVA1.2后被其他集合取代
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
(1)HashMap:
        1.底层是哈希表,查询速度特别快;
        2.

是一个无序的集合,存取顺序可能不一致。
        3.不允许键重复,如果重复,则替换对应的值。
        4.允许存储null值和空键。
        5.线程不安全。

(2)LinkedHashMap:
        1.是HashMap的子类。
        2.底层是哈希表+链表(保证迭代的顺序),是一个有序的集合。

        3.


不允许键重复,如果重复,则替换对应的值。

        4.允许存储null值和空键。
(3)HashTable:
        1.与Vector一样,速度慢但线程安全。
        2.不常用,在jdk1.2之后被HashMap取代。
        3.不允许存储null值和空键。
(4)Properties:
        1.是HashTable的子类。
        2.Properties集合依然在被使用。
        3.是一个唯一一个和IO流相结合的集合。
2.目前为止,我们所学的遍历map集合有几种方式?
(1)keySet()方法:
        keySet这种方法是直接获取map集合中所有的key组成一个keySet集合,然后通过对keySet循环一个一个从map集合中以键找值打印出来所有key对应的value。
(2)entrySet()方法:
        entrySet这种方法是获取map集合中每个整体键值对的entry映射关系的entry对象,entry对象中存着所有键值对的键和值,然后一个一个调用entry对象们的getValue和getKey方法打印输出。
3.请用自己的语言描述你所了解的集合体系
        集合体系共分为两大类:单列集合(Collection)、双列集合(Map)。
        单列集合中分为两类:一类为List,增删慢查找快,有索引值,有带索引值的方法,有顺序,可以通过普通for、增强for、iterator遍历,遍历时增删元素友好;一类为Set,增删快查找慢,无索引,不能通过普通for遍历,除LinkedList外无顺序。常用的有ArrayList、HashSet。
        双列集合中,Map接口的存储格式为键值对,键值一一对应,键不可重复,无序且不带索引。常用的有LinkedHashMap。
回复 使用道具 举报
叶凌青
1.Map接口下有几个子类,各自有什么特点?
答:HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种分别是,键找值方式:即通过元素中的键,获取键所对应的值;键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
3.请用自己的语言描述你所了解的集合体系
答:主要分两大类,分别为:单列集合Collection接口、双列集合Map接口
单列Collection接口分两大类:List接口(有序、有索引值的方法、可以存储重复元素)Set接口(没有索引值、不能存储重复的元素)
List接口实现类有Vector集合、ArrayList集合、LinkedList集合;
Set接口实现类主要有hashSet集合和它的子集LinkedHashSet集合
双列Map集合使用键值对进行存储数据。常用子类有HashMap(存储数据采用的哈希表结构,元素的存取顺序不能保证一致)LinkedHashMap(HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构)
回复 使用道具 举报

1.Map接口下有几个子类,各自有什么特点?
答:
        HasMap集合:
                实现了Map接口;
                底层是哈希表,查询非常快;
                集合无序;
        LinkedHasMap集合:
                继承HasMap集合;
                底层是哈希表+链表;
                集合有序;
        Hashtable:
                实现了Map接口;
                底层是一个哈希表;
                是一个线程安全的集合,即单线程,速度慢;
2.目前为止,我们所学的遍历map集合有几种方式?
答:
        两种:
        通过键找值遍历:
                通过keyset方法,取出所有的键,存储进Set集合中;
                然后用增强for或迭代器遍历Set集合;
                最后用get方法 ,通过键找到在Map中对应的值,进行打印输出;
        通过键值对遍历:
                先通过entrySet方法,将Mpa集合内每个键值对对应entry存入一个Set集合中;
                然后在通过对Set进行增强for或者迭代器遍历;
                最后用getKey和getValue方法获得键和值,以进行打印输出;
3.请用自己的语言描述你所了解的集合体系
答:
集合分为两大类:单列集合(Collection)和算列集合(Map);到现在学习到的集合体系如下:
        Collection接口:所有单列集合最顶层的接口,定义所有单列集合共性的方法;
                List集合:集合有序,且由索引值;允许储存元素重复;
                        Arraylist集合:底层数组结构,增删慢,查询快;
                        LinkedList集合:底层是链表结构,增删快,查询慢;
                        Vector集合:数据存储效率低,但安全性高(1.2版本后被ArrayList取代了);
                set集合:集合无索引,且不允许元素重复;
                        HashSet集合:底层是哈希表结构,查询非常快;集合无序.无索引,元素不可重复;
                                LinkedHashSet集合:底层是一个哈希表+链表;集合有序、无索引元素不可重复;
        Map接口:双列集合的最顶层的接口,一个元素包含了键和值两个内容;键和值的类型可不同;键不能重复,值可重复;键和值必须一一对应;
                HasMap集合:底层是哈希表,查询非常快;集合无序;
                        LinkedHasMap集合:底层是哈希表+链表;集合有序
                Hashtable集合:底层是一个哈希表,是一个线程安全的集合,即单线程,速度慢(1.2版本之后被HashMap取代了);
回复 使用道具 举报
1234
您需要登录后才可以回帖 登录 | 加入黑马