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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

本帖最后由 厦门第六期刘鹏 于 2019-3-23 21:21 编辑

(1).Map接口下有几个子类

        1.常见的子类有HashMap 、 LinkedHashMap 、Hashtable

  各自有什么特点?

        1.HashMap的底层采用的是哈希表。哈希表是由数组+链表/红黑树组成。而且重写了hashCode和equals方法。从而保证了数据中元素的不可重复性。

        2.HashMap存入的顺序与取出的顺序不一定相同。

        3.LinkedHashMap是HashMap底下的一个子类,其原理与HashMap不同,主要差异是HashMap是无序的而.LinkedHashMap是有序的。

        4.Hashtable的底层机构与HashMap形同,但是它是单线程安全,效率低下。索引在JDK1.2后被HashMap取代。

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

        1.是通过调用HashMap子类(以下用map代替)的keyset方法来获取map中的键。在通过迭代器或者增强for循环,使用get(map.keyset)方法来获取值。

        2.第二种调用map的entryset方法获取键值对对象的set集合,通过遍历set集合获取map的键和值

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

        1.集合包含两大类,一个是单列集合(Collection),一个是双列集合(Map)

        2.单列集合存储单个元素,主要分为List和Set两大类,List存储有序,可以存储重复元素,Set集合存储不一定有序(除了LinkedHashSet)不能存储重复元素

        3.Map集合存储是键值对,其中键不能重复,值可以重复,一般存储具有相关联系的一对数据,常见的实现类有HashMap 、 LinkedHashMap 、TreeMap  、Hashtable
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
Hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
Hashtale:存储数据采用的哈希表结构,键和值不能储存null。是单线程,运行速度慢,但是安全。

2.目前为止,我们所学的遍历map集合有几种方式?
两种。entrySet() 和keySet。

3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.
双类集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。常见的Map集合有HashMap , LinkedHashMap ,Hashtable。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
答:A.HashMap集合:1.HashMap集合底层是哈希表:查询的速度特别的快。
                                   2.hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。
     B.LinkedHashMap集合:  1.LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序
                                              2.LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的。
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种 A.通过键找值的方式:  1.使用Map集合中的方法keySet(),把Map集合所有的key取出来,存储到一个Set集合中
                                                2.遍历set集合,获取Map集合中的每一个key
                                                3.通过Map集合中的方法get(key),通过key找到value
             B.使用Entry对象遍历:   1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
                                                2.遍历Set集合,获取每一个Entry对象
                                                3.使用Entry对象中的方法getKey()和getValue()获取键与值
3.请用自己的语言描述你所了解的集合体系。
答:集合按照其存储结构可以分为两大类,分别是单列集合Collection和双列集合Map。
   (1)Collection接口是集合是所有单列集合最顶层的接口,定义了所有单列集合共性的方法。
            Collection接口下有List接口和Set接口。
                A.List集合是有序的集合允许重复的元素,有索引值,包含带索引的方法。
                   List接口下包含了:vector集合
                                                ArrayList集合:集合数据存储的结构是数组结构。元素增删慢,查找快
                                                LinkdeList集合:集合数据存储的结构是链表结构。方便元素添加、删除的集合。
                B.Set集合不允许存储重复的元素,没有索引,不包含带索引的方法。
                   Set接口下包含了:HashSet集合:无序集合,底层是一个哈希表结构(查询的速度非常的快)
                                               LinkdeHashSet集合:底层是一个哈希表(数组+链表/红黑树)+链表。
                                                                              多了一条链表(记录元素的存储顺序),保证元素有序。
    (2)Map接口中的集合称为双列集合。每个元素由键与值两部分组成,通过键可以找对所对应的值。
         Map接口下有HashMap集合和LinkedHashMap集合。
         A.HashMap集合:底层是哈希表。查询的速度特别的快;是一个无序的集合;
                                      存储元素和取出元素的顺序有可能不一致。
         B.LinkedHashMap集合:底层是哈希表+链表(保证迭代的顺序);是一个有序的集合;
                                                存储元素和取出元素的顺序是一致的。


回复 使用道具 举报

1.Map接口下有几个子类,各自有什么特点?
HashMap集合:无序的集合,不允许集合内的键出现重复
LinkedHashMap集合:有序的集合,不允许集合内的键出现重复

2.目前为止,我们所学的遍历map集合有几种方式?
两种方式,
keySet()方法:找出集合中所有的键,通过get(K key)方法获取所有的值
entrySet()方法:找出集合中所有的键值对,通过getKey()和getValue()获取所有的键和值

3.请用自己的语言描述你所了解的集合体系
Collection接口:是所有单列集合的顶层接口,包含List接口和Set接口
  List接口:是一个有序的,有索引值的,允许子类集合出现重复元素的接口,包含Vector集合,ArrayList集合,Linkedlist集合
    Vector集合:线程安全,效率低下,现已被ArrayList集合取代
    ArrayList集合:查询快,增删慢。底层是一个数组,查询快是因为数组有索引值,方便查询,增删慢是因为,每次增删都要创建新的数组
    Linkedlist集合:查询慢,增删快。底层是一个链表,查询慢是因为每次查询都要从头开始,增删快是因为只要改变首尾的地址
  Set接口:是一个无索引值的,不允许子类集合出现重复元素的接口,包含HashSet集合,LinkedHashSet集合
    HashSet集合:是一个无序的集合,不允许元素出现重复,有一个LinkedHashSet集合的子类
    LinkedHashSet集合:是一个有序的集合
Map接口:是所有双列集合的顶层接口,包含HashMap集合和LinkedHashMap集合
  HashMap集合:无序的集合,不允许集合内的键出现重复
  LinkedHashMap集合:有序的集合,不允许集合内的键出现重复
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap和LinkedHashMap两个子类
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致.由于要保证键的唯一,不重复,需要
重写键的hashCode()方法,equals()方法
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构,通过
链表结构可以保证元素的存取顺序一致,通过哈希表结构可以保证的键的唯一,不重复,需要重写键的
hashCode()方法,equals()方法.

2.目前为止,我们所学的遍历map集合有几种方式?
两种,一种是增强for循环和迭代器遍历

3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合
单列集合有:
HashSet:无序不可重复,无索引
ArrayList:有序可重复,有索引
Vertor:基本被抛弃
LinkedList:有序可重复,有两条链表
LinkedHashSet,有序不可重复,有两条链表
双列集合有:
HashMap:无序不可重复
LinkedHashMap:通过哈希表结构可以保证的键的唯一,不重复
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
Hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
Hashtale:存储数据采用的哈希表结构,键和值不能储存null。是单线程,运行速度慢,但是安全。

2.目前为止,我们所学的遍历map集合有几种方式?
两种。entrySet() 和keySet。

3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.
双类集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。常见的Map集合有HashMap , LinkedHashMap ,Hashtable。

点评

你真棒  发表于 2019-3-23 21:42
你真棒  发表于 2019-3-23 21:41
好厉害啊  发表于 2019-3-23 21:36
回复 使用道具 举报
吴元陶

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

Hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
Hashtale:存储数据采用的哈希表结构,键和值不能储存null。是单线程,运行速度慢,但是安全。

2.目前为止,我们所学的遍历map集合有几种方式?
两种。entrySet() 和keySet。

3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.
双类集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。常见的Map集合有HashMap , LinkedHashMap ,Hashtable。
回复 使用道具 举报 1 0
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
答:常用的子类有两个HashMap和HashMap的子类LinkedHashMap:
HashMap底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快。
LinkedHashMap底层是哈希表+链表(记录元素的顺序),是有序的
不常用的子类:Hashtable
Hashtable底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢
HashMap集合:可以存储null值,null键
Hashtable集合:不能存储null值,null键
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种方式:一种是通过键找值的方式;通过Map集合中的keySet()方法,把集合中所有的key取出来,存到一个Set集合中,然后遍历Set集合,获取Map集合中的每一个key值,再通过Map集合中的get(key)方法,找到value值。
另一种是使用Entry对象遍历:通过Map集合中的entrySet()方法,把Map集合中Entry对象取出来,存储到集合Set中,然后遍历Set集合,获取Entry对象,再通过Entry对象中的getKey()与getValue()方法获取key值与value值。
3.请用自己的语言描述你所了解的集合体系
答:集合分为单列集合Collection<E>与双列集合Map<K,V>
Collection又分为List合Set两类:List集合的特点是有序有索引,可存储重复元素,Set集合无索引,不可存储重复元素,不保证有序(HashSet无序,LinkedHashSet有序)
Map集合中能够存储两种类型的数据,称做键值对(key和value),可以存储自定义的引用数据类型。其中需要注意的是key的值不能重复,而且一个key只能对应一个value。常用的实现类有HashMap和LinkedHashMap。

回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
Map接口常用的子类有2个,分别为HashMap和LinkedHashMap;
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:是HashMap的子类,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

2.目前为止,我们所学的遍历map集合有几种方式?
2种,一种是通过遍历键去找值,即先用keySet()将map集合的key值都存储到一个set集合中,再遍历set集合,找出每一个key对应的值;
另一种是通过键值对的方式遍历集合,即先用entrySet()将map集合的键值对都存储到一个set集合中,再遍历set集合,以entry.getKey()和entry.getValue()的方法找到键和值。

3.请用自己的语言描述你所了解的集合体系
目前所学的集合框架分为两大体系,分别是Collection接口体系和Map接口体系。
Collection接口:该接口下又分为两大接口体系,分别为List接口和Set接口。
其中List接口下的集合的特点是有序,有索引值,元素可重复,其主要实现类有ArrayList、LinkedList。ArrayList集合查找快、增删慢,LinkedList查找慢、增删快;
Set接口下的集合的特点是无索引,元素不可重复,其主要实现类有HashSet、LinkedHashSet,其中HashSet集合是无序的,而LinkedHashSet集合是有序的;

Map接口:该接口下的集合特点是无索引,元素不可重复,因底层的数据结构为哈希表,所以查找速度快。其主要实现类有HashMap、LinkedHashMap,其中HashMap集合是无序的,而LinkedHashMap集合是有序的。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是一个哈希表,是一个无序的集合
LinkedHashMap:HashMap的子类,底层是一个哈希表+链表,是个有序的集合
2.目前为止,我们所学的遍历map集合有几种方式?
两种,第一种通过keySet方法返回一个Set接口的实现类对象,存储的是键,泛型只有一个,是键的数据类型
第二种通过entrySet方法返回一个Set接口的实现类对象,存储的是键值对,泛型有两个,是键值的数据类型
3.请用自己的语言描述你所了解的集合体系
一个是Collection集合,是单列集合,Iterator<E>对 collection 进行迭代
定义的是所有单列集合的共性方法(不包含带索引的方法)
在Collection有两个子类接口List,Set
List集合是有序的集合,允许存储重复的元素,有索引包含一些带索引的方法.
Set集合不允许存储重复的元素没有索引,不含带索引的方法
List集合中常见的三种实现类集合:ArrayList,LinkedList,Vector
Set集合中常见的实现类集合:HashSet是无序的
HashSet的子类集合:LinkedHashSet是有序的
另一个是Map集合,是双列集合,实现类有keySet方法和entrySet方法返回一个Set的实现类对象
Map的实现类HashMap是一个无序的集合
HashMap的子类LinkedHashMap是一个有序的集合
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
有两个,1、HashMap:存储采用哈希表结构,元素存取无序。
              2、LinkedHashMap:存储采用哈希表结构+链表结构,元素存取有序。
2.目前为止,我们所学的遍历map集合有几种方式?
两种:1、keyset方法 获取map集合所有键值存储在set集合中,对set集合进行遍历,获取key对应的值。
           2、entryset方法获取map集合所有键值对对象存储在set集合中,对set集合进行遍历,获取键与值的值。
3.请用自己的语言描述你所了解的集合体系集合按照存储结构分为单列集合Collection与双列集合Map,
Collection中包含两个子接口List与set接口。
List接口元素存储有序,存储的元素可以重复。List下有3个实现子类:vector(线程安全,效率低),ArrayList(存储结构是数组结构,查询快,增删慢),LinkedList(存储结构是数组加链表结构,查询慢,增删快)
Set接口存储元素不可重复,元素存储无序,Set下有2两个实现子类:HashSet(根据元素哈希值查找位置,基于hashCode 与 equals 方法所以良好的存取和查找性能。) LinkedHashSet(存储结构为哈希表加链表结构,保证了元素有序)
Map 中的集合,元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。能包含重复的键,值可以重复;每个键只能对应一个值。
Map包含一个子实现类:HashMap(存储数据采用的哈希表结构,元素的存取顺序不能保证一致。需要重写键的hashCode()方法、equals()方法,保证键的唯一、不重复。
HashMap下的子类LinkedHashMap(存储结构为哈希表加链表结构,在HashMap保证元素存储有序)。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
有两个,1、HashMap:存储采用哈希表结构,元素存取无序。
              2、LinkedHashMap:存储采用哈希表结构+链表结构,元素存取有序。
2.目前为止,我们所学的遍历map集合有几种方式?
两种:1、keyset方法 获取map集合所有键值存储在set集合中,对set集合进行遍历,获取key对应的值。
           2、entryset方法获取map集合所有键值对对象存储在set集合中,对set集合进行遍历,获取键与值的值。
3.请用自己的语言描述你所了解的集合体系集合按照存储结构分为单列集合Collection与双列集合Map,
Collection中包含两个子接口List与set接口。
List接口元素存储有序,存储的元素可以重复。List下有3个实现子类:vector(线程安全,效率低),ArrayList(存储结构是数组结构,查询快,增删慢),LinkedList(存储结构是数组加链表结构,查询慢,增删快)
Set接口存储元素不可重复,元素存储无序,Set下有2两个实现子类:HashSet(根据元素哈希值查找位置,基于hashCode 与 equals 方法所以良好的存取和查找性能。) LinkedHashSet(存储结构为哈希表加链表结构,保证了元素有序)
Map 中的集合,元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。能包含重复的键,值可以重复;每个键只能对应一个值。
Map包含一个子实现类:HashMap(存储数据采用的哈希表结构,元素的存取顺序不能保证一致。需要重写键的hashCode()方法、equals()方法,保证键的唯一、不重复。
LinkedHashMap(存储结构为哈希表加链表结构,在HashMap保证元素存储有序)
回复 使用道具 举报

今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
有很多子类.今天教了三个有一个被淘汰了另外两个是HashMap和LinkedHashMap
Map是双列集合,一元素两个值<Key,Value>
<K><V>数据类型可以相同,可以不同
键<K>名唯一(不重复);值<V>可以重复
键<K>对应值<V>相互对应

HashMap
无序        查询快
底层:数组+单向链表/红黑树

LinkedHashMap
有序        查询快
底层:数组+链表


2.目前为止,我们所学的遍历map集合有几种方式?
两种
keySet()                //遍历:把map集合中所有的<K>存储到Set集合中;遍历<K>get<V>
entrySet()                //遍历:Entry把集合中<K,V>映射成一个对象 存储到Set集合中


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

(集合体系有两大接口Collection接口和Map接口)

Collection接口(单列)
子类↓
list接口
ArrayList集合        (底层数组):查询快 增删慢
LinkedList集合        (底层链表):查询慢 增删快
和set接口
HashSe                (无序        查询快)
LinkedHashSet          (有序        查询快)

Map接口(双列)
子类↓
HashMap接口        (无序        查询快)
LinkedHashMap        (有序        查询快)

回复 使用道具 举报
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
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?

(1)常见的子类有HashMap 、 LinkedHashMap 、Hashtable

(2)特点

1.HashMap的底层采用的是哈希表。哈希表是由数组+链表/红黑树组成。而且重写了hashCode和equals方法。从而保证了数据中元素的不可重复性。

2.HashMap存入的顺序与取出的顺序不一定相同。

3.LinkedHashMap是HashMap底下的一个子类,其原理与HashMap不同,主要差异是HashMap是无序的而.LinkedHashMap是有序的。

4.Hashtable的底层机构与HashMap形同,但是它是单线程安全,效率低下。索引在JDK1.2后被HashMap取代。

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

1.有两种

第一种是通过调用HashMap子类(以下用map代替)的keyset方法来获取map中的键。在通过迭代器或者增强for循环,使用get(map.keyset)方法来获取值。

第二种调用map的entryset方法获取键值对对象的set集合,通过遍历set集合获取map的键和值

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

(1)集合包含两大类,一个是单列集合(Collection),一个是双列集合(Map)

(2)单列集合存储单个元素,主要分为List和Set两大类,List存储有序,可以存储重复元素,Set集合存储不一定有序(除了LinkedHashSet)不能存储重复元素

(3)Map集合存储是键值对,其中键不能重复,值可以重复,一般存储具有相关联系的一对数据,常见的实现类有HashMap 、 LinkedHashMap 、TreeMap  、Hashtable
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
有两个,1、HashMap:存储采用哈希表结构,元素存取无序。
              2、LinkedHashMap:存储采用哈希表结构+链表结构,元素存取有序。
2.目前为止,我们所学的遍历map集合有几种方式?
两种:1、keyset方法 获取map集合所有键值存储在set集合中,对set集合进行遍历,获取key对应的值。
           2、entryset方法获取map集合所有键值对对象存储在set集合中,对set集合进行遍历,获取键与值的值。
3.请用自己的语言描述你所了解的集合体系集合按照存储结构分为单列集合Collection与双列集合Map,
Collection中包含两个子接口List与set接口。
List接口元素存储有序,存储的元素可以重复。List下有3个实现子类:vector(线程安全,效率低),ArrayList(存储结构是数组结构,查询快,增删慢),LinkedList(存储结构是数组加链表结构,查询慢,增删快)
Set接口存储元素不可重复,元素存储无序,Set下有2两个实现子类:HashSet(根据元素哈希值查找位置,基于hashCode 与 equals 方法所以良好的存取和查找性能。) LinkedHashSet(存储结构为哈希表加链表结构,保证了元素有序)
Map 中的集合,元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。能包含重复的键,值可以重复;每个键只能对应一个值。
Map包含一个子实现类:HashMap(存储数据采用的哈希表结构,元素的存取顺序不能保证一致。需要重写键的hashCode()方法、equals()方法,保证键的唯一、不重复。
LinkedHashMap(存储结构为哈希表加链表结构,在HashMap保证元素存储有序)
回复 使用道具 举报
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?

①.HashMap:底层结构是哈希表,元素的储存和提取顺序有可能不同,查询速度特别快,不能存储相同的键
②.LinkedHashMap:底层是哈希表+链表,多了一层链表保证迭代的顺序,所以元素的储存和提取的顺序肯定相同。

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

keySet 和 entrySet 两种方法

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

Collection接口(所有集合的顶层接口)-> 有List和Set两个子接口
List接口:
        存储顺序和取出的顺序一致;
        有索引值的方法;
        可以存储重复元素;
List接口有Vector,ArrayList,LinkedList三个实现类
这三个实现类的特点分别是:
Vector集合:线程安全可是效率低下
ArrayList集合:底层是数组,所以增删慢,查询快
LinkedList集合:底层是链表结构,所以增删快,查询慢

Set接口:
        没有索引值的方法;
        不可以存储重复元素;
Set接口有HashSet和LinkedHashSet两个实现类
这两个实现类的特点分别是:
HashSet集合:是无序集合,底层是哈希表
LinkedHashSet集合:是有序集合,底层是两条链表,其中一条链表负责维护顺序

Map接口有HashMap和LinkedHashMap两个子类
Map集合的特点:
        ①.Map集合是一个双列集合,一个元素包含两个值(key,value)
        ②.这两个值的数据类型可以是相同也可以不相同
        ③.其中key值不可以重复,value值可以重复
        ④.key值和value值一一对应
HashMap和LinkedHashMap两个子类的特点是:
①.HashMap集合:底层结构是哈希表,元素的储存和提取顺序有可能不同,查询速度特别快,不能存储相同的键
②.LinkedHashMap集合:底层是哈希表+链表,多了一层链表保证迭代的顺序,所以元素的储存和提取的顺序肯定相同。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
答:常用的有两个:
HashMap:存储数据采用哈希表结构,元素存取顺序不能保证一致,键唯一需要保证存入的数据的类要重写hashCode()方法、equals()方法,值可以重复。
LinkedHashMap:LinkedHashMap是HashMap的子类,存储数据采用哈希表+链表结构,元素存取顺序一致,键唯一需要保证存入的数据的类要重写hashCode()方法、equals()方法,值可以重复。
Hashtable:底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢。
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种,一种是keyset,先获取map集合所有的键存在set集合,再通过遍历set集合键找值获得每个值。
第二种,entryset,先获得map集合中所有键值对对象存在set集合,再通过map.entry里的方法getkey()和getvalue()获得键与值。
3.请用自己的语言描述你所了解的集合体系。
答:集合分为单列集合Collection和双列集合Map集合;
<一>Collection接口下有List接口和Set接口;
(1)List接口特点:有序,有索引,克重复;
List的实现类有1.ArrayList,特点:底层是数组,查询快,增删慢;2.LinkedList实现类,特点:底层是链表,查询慢,增删快;3.Vecotr集合线程安全,但是效率低下。
(2)Set接口特点:无索引,不能重复;
Set的实现类有:1.HashSet,特点:底层是哈希表结构,集合存取顺序不能保证一致。2.HashSet的子类LinkedHashSet,特点:底层是哈希表+链表结构,元素存取顺序一致。
<二>Map接口的实现类有1.HashMap集合,特点:存储数据采用哈希表结构,元素存取顺序不能保证一致,键唯一需要保证存入的数据的类要重写hashCode()方法、equals()方法,值可以重复。
2.LinkedHashMap:LinkedHashMap是HashMap的子类,存储数据采用哈希表+链表结构,元素存取顺序一致,键唯一需要保证存入的数据的类要重写hashCode()方法、equals()方法,值可以重复。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?

Map接口下常用的子类有HashMap和LinkedHashMap
HashMap,特点:底层是哈希表结构,存取无序,不重复,无索引。
LinkedHashMap继承HashMap,特点:底层是哈希表 +链表结构,存取有序,不可重复,无索引。

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

有两种。
(1)通过键找值的方式。Map集合通过keyset()方法,获得存储key的set集合,然后通过遍历set集合的方式,通过get(key)的返回值是value获得value值。
(2)通过键值对对象的方式。Map集合通过调用entrySet()方法,获得映射关系的键值对set集合。然后通过getkey()方法和getvalue()方法分别获得key和value。

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

目前来看,大的方面,集合分为两种集合:单列集合和双列集合。
(1)单列集合的顶层接口是Collection集合,它又可以分为List接口和Set接口。
List接口:有序、有索引、可以储存重复元素的,Set接口:无索引、元素不重复的。
List接口的实现类有ArrayLis(底层数组结构,查询快,增删慢)、LinkedList(底层是双向链表,查询慢,增删慢)、Vector(底层数组,单线程安全性好、效率低)
Set接口的实现类有HashSet(底层是哈希表,查询非常快,无序)、LinkedHashSet(底层是哈希表+链表,有序)
(2)双列集合是Map集合,存储数据是一对的,分为key和value。要实现存储元素的唯一性,需要重新hashCode(方法)和equals(方法)。
Map集合的实现类有HashMap(底层哈希表,无序)、LinkedHashMap(继承HashMap,底层是哈希表和链表结构,有序)和MapTable(底层是哈希表,最早的双链集合,单线程安全速度慢)。
单列集合最常用ArrayList集合和HashSet集合,双列集合最常用HashMap集合。
回复 使用道具 举报

今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
  答:(1)常用的有两种子类:HashMap集合和LinkedHashMap集合.以及一个HashTable集合
      (2)其中HashMap集合存储数据采用的哈希表结构,该集合的元素存取顺去不能保证一致,
而LinkedHashMap存储数据采用的则是哈希表结构+链表结构.该集合能够保证元素的存取顺序一致.

2.目前为止,我们所学的遍历map集合有几种方式?
  答:遍历map集合的方式有两种:
   (1)键找值方式:通过键来获取所对应的值,方法提示:get(K ket)
   (2)Entry键值对对象,获取对应键和对应值的方法:getKey();getValue();

3.请用自己的语言描述你所了解的集合体系
  答:集合是一种容器,可以用来存储多个数据.
   (1)它按照存储数据结构分为两大类,分别是单列集合Collection和双列集合Map.
       其中Collection有两个重要的子接口:List接口和Set接口.List的特点是元素有序,元素可重复.
       而Set的特点是元素无序,且不能重复的.List接口的   
   (2)List主要实现类又有ArrayList和LinkedList以及一个被ArrayList取代的Vector集合.Map接
       口常用的子类有HashMap集合和LinkedHashMap集合以及被HashMap取代的HashTable集合.其中
       HashMap集合存储数据采用的哈希表结构,该集合的元素存取顺去不能保证一致,而LinkedHashMap存储
       数据采用的则是哈希表结构+链表结构.该集合能够保证元素的存取顺序一致.
      

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