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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-12-23 20:41  /  2770 人查看  /  41 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.Map接口下有几个子类,各自有什么特点?
答:1.HashMap 特点:底层是哈希表结构,存取无序,不重复,无索引。
2.LinkedHashMap 继承HashMap特点:底层是哈希表 +链表结构,存取有序,不可重复,无索引。
3.HashTableA特点:底层是哈希表,是jdk1.0时的集合,key和value都不容许为null。

2.目前为止,我们所学的遍历map集合有几种方式?
答:两种
1.通过键找值的方式。Map集合通过keyset()方法,获得存储key的set集合,然后通过遍历set集合的方式,
通过get(key)的返回值是value获得value值。

2.通过键值对对象的方式。通过调用entrySet()方法,获得映射关系的键值对set集合。
然后通过getkey()方法和getvalue()方法分别获得key和value。

3.请用自己的语言描述你所了解的集合体系
答:目前来看,大的方面,集合分为两种集合。单列集合和双列集合。
1.单列集合的顶层接口是Collection集合,它又可以分为有序、有索引、可以储存重复元素的List接口,以及无索引、元素不重复的Set接口。
其中list接口的实现类有ArrayLis(底层数组结构,查询快,增删慢)、LinkedList(底层是双向链表,查询慢,增删慢)、Vector(底层数组,单线程安全性好、效率低)
其中Set接口的实现类有HashSet(底层是哈希表,查询非常快,无序)、LinkedHashSet(底层是哈希表+链表,有序)
2. 双列集合是Map集合,存储数据是一对的,分为key和value。要实现存储元素的唯一性,需要重新hashCode(方法)和equals(方法)。实现类有HashMap(底层哈希表,无序)LinkedHashMap(继承HashMap,底层是哈希表和链表结构,有序)、MapTable(底层是哈希表,最早的双链集合,单线程安全速度慢)
单链集合最常用ArrayList集合和HashSet集合,双链集合最常用HashMap集合
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是哈希表结构,元素的存取顺序不能保证一致,由于要保证键的唯一、不重复,需 要重写键的hashCode()方法、equals()方法。   
LinkedHashMap:HashMap的子类,底层是哈希表结构+链表结构,链表结构保证了存取顺序一致,通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法   

2.目前为止,我们所学的遍历map集合有几种方式?
1.键找值方式:
(1)通过keyset( )方法获取Map集合中所有的键,返还的是一个存着Map集合中所有的键的Set集合
(2)遍历Set集合,得到集合中的每一个元素,也就是键
(3)使用get(k key)方法,传入键,得到对应的值

2.键值对方式
(1)通过entrySet( )方法得到一个存储所有键值对对象的Set集合,键值对对象就是Entry将key对应的value一起组装起来,封装成对象
(2)遍历Set集合,得到每一个键值对对象
(3)使用getkey( )和getValue( ) ,得到键值对对象的键与值   

3.请用自己的语言描述你所了解的集合体系
目前学到的集合体系分为单列集合Collection接口和双列集合Map接口
Collection接口下有List子接口和Set子接口
List子接口特点:有序;可重复;有索引,包含索引
主要实现类分为1.ArrayList集合,数组结构,查询快,增删慢
                           2.LinkedList集合,哈希表加链表结构,增删快,查询慢
                           3.Vector集合,安全,效率低
Set子接口特点:不可重复;没有索引值
主要实现类HashSet集合,无序,要保证元素唯一性,需要重写hashCode 与 equals 方法;LinkedHashSet,是HashSet集合下的一个子类,是一个有序的集合。

Map接口特点:是一个双列集合,一个key,一个value;key和value的数据类型可重复;key和value一一对应;key内容不可重复,value内容可重复。
主要实现类HashMap,无序,要保证键唯一,必须复写对象的hashCode和equals方法
LinkedHashMap, 存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
答:1.有多个子类,但我们经常用到的约3个左右  HashMap,Hashtable,LinkedHashMap,
       2.在Map接口下的集合都具有双列的特点,以键值对的方式存在,
       3.其中HashMap的特点是  无索引,无序,键不可重复,可以存储null对象(但是存储自定义类型的时候必须重写Hashcode和equlas方法否则键也会重复)他的底层不            可重复的原理是给元素计算出一段哈希值,当作为键添加的时候会进行比较,若是存在相同的哈希值则会继续比较内容,若内容也相同则会返回false添加不进去
      4.Hashtable:此集合的特点是,键不可重复,无索引,双列集合,底层是基于哈希表实现的有key,和value值,任何非null对象都可以作为键或者值
      5.LinkedHashMap:此集合的特点是,键不可重复,无索引,双列集合,有序,底层是用的哈希表和一个双重链表形式组成,因为LinkedHashMap是HashMap的子类           所以HashMap有的缺点 LinkedHashMap也都具备,而LinkedHashMap具有的特点HashMap却不具备,map接口下的
      6.遍历方式:map集合下的所有集合都不能用普通for遍历,因为没有索引,可以使用增强for和迭代器 遍历
2.目前为止,我们所学的遍历map集合有几种方式?
答:2.1遍历方式:map集合下的所有集合都不能用普通for遍历,因为没有索引,
         entrySet一次性获取键值对的方式获取到数据,然后使用增强for遍历 entrySet,
          keySet 一次性获取到所有的键,然后用 get方法把key传进去根据键找值
3.请用自己的语言描述你所了解的集合体系
                                                            1.单列集合用于存储单个数据的顶层接口 collection
                                                                                                    |
  List(有序,有索引,可重复,)       --------------------------------------------------------------------------    Set (有些有序有些无序,无索引不可重复)
                          |                                                                                                                                                                                  |
          -----------------------------------------------------                                                                                 -------------------------------------------
                         |                                                                                                                                                                                 |                                                            ArrayList(有序,有索引,可重复,查找块,增删慢)    LinkedlList (有序,无索引,可重复,查找慢,增删快)                  HachSet(无序,查找快)
                                                                                                                                                                                                           |
                                                                                                                                                                                                     LinkedSet(有序   )
                                                               2.双列集合用于存储一对数据顶层接口Map
                                                                                                |
                                                        ----------------------------------------------------------
                                                          |                                                                    |
                                                    HachMap(无序,不可重复,无索引,存储自定义类型需要重写方法能去重 )           
                                                          |
                                                     LinkedlMap (有序,因为底层有一个双重链表结构,存储自定义类型需要重写方法能去重)  

3.集合遍历方式 有索引的遍历手段可以用 普通for遍历 迭代器遍历 增强for遍历,无索引的不能用普通for遍历    迭代器可以遍历有索引和没有索引的,在集合体系里面通用                                                                                                                                                        



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

HashMap:无序的;存储数据采用的哈希表结构,不能保证元素存取的顺序一致。要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

LinkdHashMap:有序的;是HashMap的子类,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;和hashmap一样必须重写键的hashCode()方法、equals()方法。

3.HashTable:存储数据采用的哈希表结构,因为是单线程,线程安全,运行效率低,不支持null值的存储。

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

两种。一种是通过键去找值,通过keyset()将map集合中的key值存储到一个set集合中,然后通过遍历set集合的键去找对应的值。

一种是通过键值对的方式去遍历集合。用entrySet()将map集合的键值对都存储到一个set集合中 ,然后遍历set集合,再通过entry.getkey()和entry.getvalue()去获取对应的键和值。

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

目前所学两大集合接口体系:collection集合接口和map集合接口。

collection接口:包含List接口和set接口;

list的特点是有序的,有索引值,元素可重复。主要实现类Arraylist(有序的,查询快,增删慢),Linkedlist(有序的,查询慢,增删快),

set的特点是无索引值,元素不可重复。主要实现类Hashset(无序的),LinkedHashset(有序的,)

map接口:集合特点是无索引,元素不可重复,因底层的数据结构为哈希表,所以查找速度快。 主要实现类hashmap(无序的)和其子类Linkdhashmap(有序的);


回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
3.HashTable:底层是哈希表,因为是单线程,线程安全,但是运行效率低,已经被取代。不支持null值的存储(不管再key或者value都不能存储null)。  

2.目前为止,我们所学的遍历map集合有几种方式?
两种方式
键找值方式:即通过元素中的键,获取键所对应的值
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
  
3.请用自己的语言描述你所了解的集合体系

集合分为单列集合Collection集合和双列集合Map集合。
Collection集合下又有List集合和Set集合。
      List接口特点:1. 它是一个元素存取有序的集合。2. 它是一个带有索引的集合。3. 集合中可以有重复的元素。
              list集合底下又有 LinkedList 集合和ArrayList 集合
                    LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。
                    ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快。

     Set接口的特点:1.不允许存储重复的元素。 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历。
             set集合下又有HashSet集合和LinkedHashSet集合。
                   HashSet集合特点: 1.不允许存储重复的元素。2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历。3.是一个无序的集合,存储元素和取出元素的顺序有                                                    可能不 一致。 4.底层是一个哈希表结构(查询的速度非常的快)。
                   LinkedHashSet集合特点: 底层是一个哈希表(数组+链表/红黑树)+链表:多了一条链表(记录元素的存储顺序),保证元素有序

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

回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap:存储数据采用哈希表结构,无序
LinkdeHashMap:存储数据采用哈希表结构和链式结构,有序
2.目前为止,我们所学的遍历map集合有几种方式?
一种遍历键找值方式,一种遍历键值对方式
3.请用自己的语言描述你所了解的集合体系
集合只能存放引用类型,其存放的是多个对象的引用,可以存放不同类型。
Collection接口下的Set接口(无序),List接口(有序)和Map接口。
Set下有HashSet,LinkedHashSet
HashSet底层数据结构是哈希表,无序,不可重复
LinkedHashSet底层数据结构式链表和哈希表,有序,不可重复
List下有ArrayList,LinkedList
ArrayList底层数据结构是数组,查询块,增删慢
LinkdeList底层数据结构是链表,查询慢,增删快
Map下有LinkedHashMap,HashMap
HashMap:存储数据采用哈希表结构,无序
LinkdeHashMap:存储数据采用哈希表结构和链式结构,有序

回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap:无序存储,key和value可以存null
LinkedHashMap:多一条链表记录顺序,有序,key和value可以null
HashTable:存储的两个对象不能为null
2.目前为止,我们所学的遍历map集合有几种方式?
两种,可以通过KeySet:对Set集合用此方法,获得Key的set集合,再根据这个set集合遍历,用get(Key)方法间接获取value
EntrySet遍历:用此方法获取键值对的set集合,再根据键值对的get方法获取Key和Value
3.请用自己的语言描述你所了解的集合体系
单列集合:Collection(没有索引)包含List(有序,有索引,元素可重复,可以普通for循环)和Set(无序,无索引,元素不重复,不能普通for循环)
双列集合:Map(Key,Value)包含HashMap(无序)和LinkedHashMap(有序),可以增强for循环和迭代器循环,两种遍历方式
回复 使用道具 举报
王宏 中级黑马 2018-12-25 08:55:10
28#
1.Map接口下有几个子类,各自有什么特点?
HashMap 是无序,存储的元素不可重复
LinkedHashMap 是有序,存储的元素不可重复

2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式一种是根据根据键找值方式遍历(用keySet方法获取所有key键的Set集合,再用迭代器遍历Set集合用get(key)方法获取value值)。另一种是用键值对方式遍历,(用entrySet方法获取所有的entry对象的Set集合,再用迭代器遍历Set集合用entry对象.getKey()方法获取key值和entry对象.getValue()方法获取value值)。

3.请用自己的语言描述你所了解的集合体系
1.list接口的特点是有索引,可重复,有序,有Arraylist(增删慢,查询快)、linkedlist(查询快,增删慢)、vector(单线程,安全,慢)三个子接口2.hashset接口特点无序,无索引,不可重复,有hashset接口(无序,无索引不可重复)和linkedset(存储的顺序,无索引,不可重复)俩哥常用接口3.map也是一个接口,有linkedhashmap(存储的顺序,键值唯一,自定义类需要重写equals方法和hashcode方法)和hashmap(无序,键值唯一,自定义类需要重写equals方法和hashcode方法)以及hashtable(安全,慢,键值和键不能为null)三个常用子接口4.Compare比较器和Comparator比较器相比,Comparator用的更多,因为Compare是在类重写对类所对应的对象都强制自然排序,耦合性太高,Comparator比较器解耦程度比较好,在方法里可以在一定程度上创建自定义规则排序,灵活性更高
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
HashMap<K,V>
存储数据采用哈希表结构,元素的存取顺序不一致,想要保住键的唯一性,必须重写hashCode(),equals()方法
LinkedHashMap<K,V>
存储数据采用哈希表结构+链表结构 通过链表结构来保证存取顺序一致,通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()法。
2.
目前为止,我们所学的遍历map集合有几种方式?
三种
普通for循环
迭代器
增强for循环
3.
请用自己的语言描述你所了解的集合体系
Collection
list                                                         set

有序的集合                                          无索引集合
可重复性                                              不可重复
有索引
ArrayList                                               hashset   
查询快.增删慢                                无序
查询快:根据索引去查找元素               重写hashCodeequals方法保证不重复
增删慢:每次增删时要创建新的数组
linkedlist                                                linkedhashset
查询慢,增删快                                      有序
查询慢:每次查询从头开始查找                 重写hashCodeequals方法保证不重复
增删快,只需要记住下一个元素的地址,每次在地址值中增删
Vector
线程安全
Map
HashMap           
存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
linkedHashMap
HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?有HashMap和LInkedHashMap两个接口。
HashMap:无序,不可重复
LInkedHashMap :有序 不可重复

2.目前为止,我们所学的遍历map集合有几种方式?
键找值:通过keySet方法把键存储在keySet集合中,遍历集合,再通过键找到值,打印输出。
键值对:通过entrySet方法,得到entrySet的集合,遍历后,通过entryset的对象的getkey和getValue方法去得到key和Value,放进map集合中,打印输出。

3.请用自己的语言描述你所了解的集合体系
顶层分为单列和双列。
单列顶层是collection,往下有list和set两个接口;list集合的特点是有序、有索引、可重复,下面有ArrayList、LinkedList、Vector;set集合特点是:无序、不可重复、无索引,set下面有HashSet,LinkedHashSet。
双列顶层是Map,往下是HashMap,HashMap的一个子类是LInkedHashMap。Map双列集合和set几乎完全一样,关键不同在于双列集合自身的概念——键值对。map的特点是不可重复,无索引值。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
1.HashMap 特点:底层是哈希表结构,存取无序,不重复,无索引,线程不安全的集合,多线程,速度快
2.LinkedHashMap继承HashMap特点:底层是哈希表 +链表结构,存取有序,不可重复,无索引
3.HashTable特点:底层是哈希表,是jdk1.0时的集合,线程安全的集合,单线程,速度慢,key和value都不容许为null

2.目前为止,我们所学的遍历map集合有几种方式?
1.键找值方式:
(1)通过keyset( )方法获取Map集合中所有的键,返还的是一个存着Map集合中所有的键的Set集合
(2)遍历Set集合,得到集合中的每一个元素,也就是键
(3)使用get(k key)方法,传入键,得到对应的值
2.键值对方式:
(1)通过entrySet( )方法得到一个存储所有键值对对象的Set集合,键值对对象就是Entry将key对应的value一起组装起来,封装成对象
(2)遍历Set集合,得到每一个键值对对象
(3)使用getkey( )和getValue( ) ,得到键值对对象的键与值

3.请用自己的语言描述你所了解的集合体系
单列集合Collection接口下有List接口和Set接口,List接口下有ArrayList,LinkedList,Vector类
Set接口下有HashSet,LinkedHashSet类
双列集合Map接口下有HashMap,LinkedHashMap,Hashtable类
List接口:元素有序,可重复,有索引
ArrayList :底层是数组,因此元素增删慢,查找快
LinkedList :底层的结构是链表结构,因此元素查找慢,增删快。
Set接口:没有索引,不可重复
HashSet:底层是哈希表结构(查询速度快),是无序的集合,不能使用for循环遍历
LinkedHashSet:是哈希表+链表结构,保证元素有序
Map:双列集合,键值一一对应,键不可重复
HashMap :无序,存储的元素不可重复
LinkedHashMap :有序,存储的元素不可重复
Hashtable:底层是哈希表,是jdk1.0时的集合,线程安全的集合,单线程,速度慢,key和value都不容许为null




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

两个子类:HashMap和LinkedHashMap

HashMap:底层是哈希表,是一个无序集合,查询速速快里面存储键值对,且只能存储引用类型数据,其中,键不能重复,value值可以重复。

LinkedHashMap:是HashMap的一个子类,底层比HashMap多了个链表结构,是一个有序集合,同HashMapkey键值不可重复。

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

两种。通过keySet方法获得一个键值的set集合,再通过增强for和迭代器的方式进行遍历,通过key键找到对应的value值。

另外一种是通过键值对关系,使用entrySet方法将键值对对象存储到set集合中,然后同样通过增强for和迭代器的方式进行遍历,通过提供的getKey和getValue方法获取集合中对应的key值和value值。

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

1.集合分为单列集合(顶层接口collection)和双列集合(顶层接口Map),单列集合的元素是单独存取的,双列集合的元素是成对存取的。

2.单列集合又分为List集合和Set集合,其中List和Set也是两个接口。List集合是一个有序的,有索引值的,可重复的。Set集合是无索引的,不可存储重复元素的。

3.List集合又有3个实现类,分别是:
ArrayList:底层是数组结构,所以查询快,增删慢。
LinkdeList:底层是链表结构,同ArrayList相反,查询慢,增删快。
Vector:线程安全。

4.Set集合有:
HashSet:底层是哈希表,该类允许使用null元素,是一个无序的集合,具有良好的存取和查找性能。
LinkedHash:是HashSet的子类,但它是有序的,底层是哈希表和链表加红黑树。

5.Map集合有三个子类:
HashMap:底层是哈希表+链表,查询速度快。存储的是无序的。
LinkedHashMap:是HashMap的子类,底层是哈希表+链表,查询速度跨,是有序的。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
        有3个子类:HashMa;LikedHashMap;Hash table;
       HashMap是双列集合,并且无序,底层原理是有由哈希表(数组+单项链条/红黑树)存储元素,多线程所以查询速度非常快,但确是相对不安全的集合,可以储存null键和null值,并且K键是唯一的不可重复,V值可以重复。
       LikedHashMap是HashMap的子类,有一点不同的是LikedHashMap是有序的集合,底层多了个链条来记录元素顺序。其他特点跟Hash Map一样。
       Hashtable是一个相对比较古老的Map的子类,也是双列集合,无序,是一个单线程效率低,但却又是更加安全的集合,无法存储null键和null值,目前已基本被替代,但他有一个子类目前还仍在使用,今天还未学习。

2.目前为止,我们所学的遍历map集合有几种方式?
       目前有2种方法,第1种方式keySet,通过键找值方法,使用键值获取对应的V值;第2种方式entrySet,通过存储键值对的映射关系,将一对对的元素储存到集合中,这个方法更多面向键值为自定义的对象类型。

3.请用自己的语言描述你所了解的集合体系
集合体系主要分为2大类:Collection 单列集合 和 Map 双列集合。
Collection下有两大类型的集合:List集合:有序,有索引,元素可重复;Set集合:无索引,元素不可重复;
      List类:ArrayList集合,有索引查询速度快,增删慢因为底层由数组组成,增删时都要复制到新数组;
                 LinkedList集合,查询慢因为底层是链表结构,需要从头逐一获取元素,增删快因为只需要记住下一个元素的地址,每次增删都在此地址值;
                 Vector集合:古老的集合,线程安全,但效率低。
      Set类:HashSet集合:无序,底层由哈希表存储元素,存储元素是通过比较哈希值,哈希值不同直接添加,哈希值相同,再比较属性,不同才添加,所以必须重写HashCode和eglus方法;
             LinkedHashSet集合:是HashSet的子类,有序,因为底层是由哈希表+链条的结构记录元素,链条记录了顺序,保证了有序,其他和Hashset相同;

Map集合有3种类型,共性特点是:双列集合,一个元素包含两个值:Key键,Value值,K和V数据类型可以不同或相同,K键是唯一的不可重复,V值可以重复,两者成对共存;
          HashMap集合:底层由哈希表+单项链条(或红黑树)结构存储元素,查询快,无序,多线程,可以存储Null键和Null值,因为无序所以无法使用迭代器进行遍历,需要使用KeySet或EntrySet进行便利。
         LinkedHashMap集合:是HashMap的子类,底层由哈希表+链表组成,链表用来记录顺序,所以它是有序集合,其他特点跟HashMap一样;
          Hashtable集合:是相对古来的集合,继承Map接口,一样也是双列集合,无序,是一个线程安全的集合,但效率比较低速度慢,不能储存Null键和Null值。但它有一个子类现在还很活跃。

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

两个。hashmap:不可重复,无索引值;hashtable:线程安全性高,效率低。

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

两种。通过
3.请用自己的语言描述你所了解的集合体系

集合总体分为双列集合和单列集合。
单列集合又分为:list;set.
list的子类:arraylist,linkedlist,vector。
set的子类:hashset。hashset的子类linkedhashset。
双列集合的子类:hashmap。hashmap的子类linkedhashmap。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
答:一共有两个子类
hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

2.目前为止,我们所学的遍历map集合有几种方式?
答:两种方式,通过调用entrySet()方法,获得映射关系的键值对set集合。然后通过getkey()方法和getvalue()方法分别获得key和value。
3.请用自己的语言描述你所了解的集合体系
答:集合体系分为单列集合Collection接口和双列集合Map接口
Collection接口下有List子接口和Set子接口
List子接口特点:有序;可重复;有索引,包含索引
主要实现类分为1.ArrayList集合,数组结构,查询快,增删慢
                           2.LinkedList集合,哈希表加链表结构,增删快,查询慢
                           3.Vector集合,安全,效率低
Set子接口特点:不可重复;没有索引值
主要实现类HashSet集合,无序,要保证元素唯一性,需要重写hashCode 与 equals 方法;LinkedHashSet,是HashSet集合下的一个子类,是一个有序的集合。

Map接口特点:是一个双列集合,一个key,一个value;key和value的数据类型可重复;key和value一一对应;key内容不可重复,value内容可重复。
主要实现类HashMap,无序,要保证键唯一,必须复写对象的hashCode和equals方法
LinkedHashMap, 存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
回复 使用道具 举报
林少伟
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马