黑马程序员技术交流社区

标题: 【厦门校区JavaEE就业5期-每日总结】Map [打印本页]

作者: 厦门校区    时间: 2018-12-23 20:41
标题: 【厦门校区JavaEE就业5期-每日总结】Map
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
2.目前为止,我们所学的遍历map集合有几种方式?
3.请用自己的语言描述你所了解的集合体系
作者: Chidori    时间: 2018-12-23 21:06
1.Map接口下有几个子类,各自有什么特点?Map接口下有三个子类
HashMap:底层是哈希表,查询速度特别快,是一个无序的组合存储元素和取出元素的顺序可能不一样,可以储存null键和null值
LinkedHashMap:是HashMap的实现类接口,比它多了一条链,是双向链结构,是一个有序的集合,其他特点同HashMap
HashTable:底层也是一个哈希表,是一个线程安全的集合,是单线程,查询速度慢,不能储存null键和null值
2.目前为止,我们所学的遍历map集合有几种方式?
两种方式:
用keyset方法,返回一个储存键值的set集合,set集合再使用迭代器或者增强for循环取出set集合中的每一个key,再通过Map集合的get(key)方法,一一取出对应的value值
用entryset方法,返回一个储存Map.entry对象的set集合,set集合再使用迭代器或者增强for循环取出set集合中的每一个对象,再通过entry中的getkey()和getvalue()方法取得对象的值
3.请用自己的语言描述你所了解的集合体系

集合主要分为
单链集合Collection,包含了两个子接口:
List,是有序的,有索引值,可以储存重复对象,其中又包含了三个实现类:
Arraylist、查询快,储存慢
Linkedlist:查询慢,储存快
Vector:安全性高,但是查询速度特别慢
Set,无索引值,不可以存储重复对象,其中包含了一个实现类:
HashSet:底层为哈希表,因为是单向链表,所以是无序的,但是查询速度特别快
LinkedHashSet:HashSet的子类接口,其他特点同HashSet,比它多了一条链,所以是有序的
双链集合Map
包含了两个子类接口:
HashMap:集合底层是哈希表,查询速度特别快
LinkedHashMap:是一个有序的集合,存储元素和取出元素的顺序是一致的

作者: 吴少华    时间: 2018-12-23 21:08

1.Map接口下有几个子类,各自有什么特点?
linkedhashmap:哈希表确定值不重复,键值唯一,链表控制数据按存入顺序存放,自定义类需要重写
                         equals方法和hashcode方法
hashmap:希表确定值不重复,键值唯一,自定义类需要重写equals方法和hashcode方法
2.目前为止,我们所学的遍历map集合有几种方式?
keyset()方法,通过将索引整合成类似数组的空间,声明keyset()对象,增强for循环通过索引找到键所对应的值来遍历
entryset()方法;通过将键和键所对应的值打包成·一个整体,通过将整体整合成类似数组的空间,声明entry对象,增强for循环打印空间内的整体所对应的getkey值和getvalue值来遍历
3.请用自己的语言描述你所了解的集合体系
①list接口的特点是有索引,可重复,有序,有Arraylist(增删慢,查询快)、linkedlist(查询快,增删慢)、vector(单线程,安全,慢)三个子接口
②hashset接口特点无序,无索引,不可重复,有hashset接口(无序,无索引不可重复)和linkedset(存储的顺序,无索引,不可重复)俩哥常用接口
③map也是一个接口,有linkedhashmap(存储的顺序,键值唯一,自定义类需要重写equals方法和hashcode方法)和hashmap(无序,键值唯一,自定义类需要重写equals方法和hashcode方法)以及hashtable(安全,慢,键值和键不能为null)三个常用子接口
④Compare比较器和Comparator比较器相比,Comparator用的更多,因为Compare是在类重写对类所对应的对象都强制自然排序,耦合性太高,Comparator比较器解耦程度比较好,在方法里可以在一定程度上创建自定义规则排序,灵活性更高

作者: 王宇鹏    时间: 2018-12-23 21:10
1.Map接口下有几个子类,各自有什么特点?
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法
2.目前为止,我们所学的遍历map集合有几种方式?
get(key)/keySet/entrySet
3.请用自己的语言描述你所了解的集合体系
不了解
作者: 吴洪标    时间: 2018-12-23 21:12
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集合是有序的。


作者: 李灵杰    时间: 2018-12-23 21:18
1.Map接口下有几个子类,各自有什么特点?
        HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
        LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
        tips:Map接口中的集合都有两个泛型变量,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量的数据类型可以相同,也可以不同。
2.目前为止,我们所学的遍历map集合有几种方式?
                键找值方式:即通过元素中的键,获取键所对应的值
                键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
                entry键值对对象
3.请用自己的语言描述你所了解的集合体系
        集合体系分为两种
                单列集合Collection
                        Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。
                双列Map
                        Map中的集合,元素是成对存在的理解为夫妻。每个元素由键与值两部分组成,通过键可以找对所对应的值。
                       
                Collection 中的集合称为单列集合, Map 中的集合称为双列集合。需要注意的是, Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。       
               


作者: 陈辉阳    时间: 2018-12-23 21:21
本帖最后由 陈辉阳 于 2018-12-23 21:32 编辑

HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需 要重写键的hashCode()方法、equals()方法。 LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链 表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。
键找值方式:即通过元素中的键,获取键所对应的值
分析步骤:
1. 获取Map中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键。方法提示: keyset() 2. 遍历键的Set集合,得到每一个键。 3. 根据键,获取键所对应的值。方法提示: get(K key)



作者: lj478360767    时间: 2018-12-23 21:25
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?Map接口下常用的子类有HashMap和LinkedMap两个;
HashMap的特点:底层是哈希表结构,查询速度快,元素的存取顺序不能保证一致,并且键的值不能重复,值的值可以重复.
键和值可以存引用类型数据也可以存对象;但是,为了要保证键的唯一性,所以需要重写键值的hashCode()方法和equals()方法;
LinkedMap是HashMap的子类,底层在哈希表的基础上多加了一条链表来保证元素存取顺序一致.与HashMap一样,键值不能
重复,键和值可以存引用类型数据也可以存对象;LinkedMap通过哈希表结构保证键的唯一性,需要重写键值的hashCode()方法和equals()方法;

2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式遍历map集合,一种是通过键找值的方式,一种是通过获取键值对的方式;
键找值: (1)调用KeySet方法获取map的所有键值,存入Set集合中;
            (2)遍历Set集合,通过map集合的get()方法获取每个键对应的值
键值对:(1)调用map集合的entrySet()方法获取集合中的所有键值对对象,存入Set集合中;
           (2)利用迭代器或者增强for遍历Set集合中的键值对对象;
           (3)键值对对象调用getKey()方法和getValue()方法获取键和值

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

从顶层接口来看,分为Collection和Map两大接口;
Collection下又分为List和Set两大类,
(1)List集合的特点是存取有序,有索引值及其相关方法,元素可以重复;
List下有两大常用子类ArrayList和LinkedList;
ArrayList底层采用数组存储元素,所以特点是查询快,增删慢;
LinkedList底层采用链表结构,所以特点是查询慢,增删快;
两个子类看需求情况使用,还有一个比较老的子类Vector已经不怎么使用,特点是安全,效率低;
(2)Set集合的特点是元素存取无序,并且元素不能重复,没有索引;
Set集合下有两个常用子类HashSet和LinkedSet;
HashSet类的特点是元素存取无序,并且不能重复,具有良好的存取和查找性能;
LinkedSet类的特点是底层采用哈希表加链表的结构来实现元素存取有序,元素同样不可重复;

Map又称为双列集合,集合中的每个元素包含键和值两个部分,并且一一对应,键值唯一不能重复,值可以重复,
键和值都可以存放引用类型或对象,
Map接口下常用的实现类有HashMap集合、LinkedHashMap集合
HashMap集合存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法
LinkedHashMap :HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法。


作者: Wujainwei    时间: 2018-12-23 21:27
1.Map接口下有几个子类,各自有什么特点?
hashMap集合特点:底层是哈希表,查询特别快;1.8后数组+单向链表(超过八个转化为红黑树)
                                无序的集合,放入取出顺序可能是不一致的
linkedHashMap集合特点:底层是哈希表+链表(保证迭代顺序)
                                          有序的集合,放入和取出顺序一致(链表记录顺序)
HashTable特点:底层是一个哈希表,线程安全,单线程集合效率低,不允许存储null值。

.目前为止,我们所学的遍历map集合有几种方式?
两种。1.使用键找值的方式:keySet();     get(K);
           2.使用entrySet();    .getKey();    getValue();

3.请用自己的语言描述你所了解的集合体系
根据集合的各种不同的性质创建多个子接口以及各种实现类,可以根据需求使用适合的集合类型
并且可以使用多态来使用接口的方法。
作者: 续扬    时间: 2018-12-23 21:30
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是哈希表(查询速度非常快);是一个无序的集合,存入取出可能元素顺序不一致;存储自定义键值,保证key是唯一的,必须重写hashcode和equals方法LInkHashMap:底层是哈希表+链表(保证迭代的顺序);是一个有序的集合,存入取出可能元素顺序一致
2.目前为止,我们所学的遍历map集合有几种方式?
keyset():把集合中key提取出来存放到set集合内,遍历set集合获取map中的key,通过map集合中的get(key)找到value
entrySet():把map集合中的entry对象提取出来放到set集合内,遍历set获取每一个entry对象,使用entry对象中的方法getKey()和getVaule()获取键与值。
3.请用自己的语言描述你所了解的集合体系
collection接口中包含有List,Set,Map三种接口。其中List里的ArrayList、LinkedList、Vector;Set里的HashSet、LinkedHashSet集合是单列集合,Map里的HashMap、LinkedHashMap是双列集合。

List接口下的集合是有序的集合,可以有重复元素,有索引。
ArrayList集合:底层是数据结构,元素增删慢查找快。
LinkList集合:1.底层是链表结构,查询慢增删快。2.包含大量首尾操作。3.不能使用多态
Vector集合:被淘汰的集合。

Set接口下的集合不可以有重复元素,没有索引。
HashSet集合:底层是哈希表结构(查询速度快),是无序的集合,不允许存储重复元素,没有索引,不能使用for循环遍历。
LinkedHashSet底层:是哈希表+链表结构,保证元素有序

Map接口下的集合一个元素包含两个值(Key,Value),两个可以相同也可以不同元素相互对应,key值可以重复,value不可以重复
HashMap集合:底层是哈希表结构,是无序的集合,可以通过重写hashcode和equals方法自定义键值对。
LInkHashMap集合:底层是哈希表+链表,是一个有序的集合。



作者: Java中的莫Q哇啦    时间: 2018-12-23 21:31
1.Map接口下有几个子类,各自有什么特点?

Map接口下常用的子类有①HashMap集合,该集合不可以存储重复元素,且存储与取出元素的顺序不一定相同。②LinkedHashMap集合,该集合不可以存储重复元素,但是存储与取出元素的顺序相同,且速度快。③HashTabie集合,这个集合属于元老级的一个集合,安全性高,但是速度慢已经被替代,其一子类Properties 类目前还很活跃在编程中。

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

两种方式,一种是取出map集合中的所有键,放至set集合中,通过set集合编译与map.get(键)来遍历map集合。第二种是利用内部类方法,把键值用Map.Entry方法取出至set集合,遍历set集合达到遍历map集合的目的。

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

集合的顶端分为两种集合,

①一种是单列集合Collection集合,②另一种是双列集合Map集合。

Collection集合分为两大种集合①.a一种是List集合,这种集合的特点是,元素存储有序,元素可以重复。①.b另一种是Set集合,这种集合的特点是,元素不可以重复。

Map集合有主要的两种集合,分别是②.a一种HashMap集合,这种集合的特点是,元素中键值不可重复,元素存储无序。②.b另一种是LinkedHashMap集合,这个集合相比HashMap集合,元素中键值不可重复,元素存储有序,且速度更快。

List集合下有主要的两种集合,①.a.01一个是ArrayList ,该集合底层元素是由数组组成,所以其特点就是,查询元素快,但是增删元素慢。①.a.02另一个是LinkedList集合,这和集合的底层结构是链式结构,所以其特点是查询元素慢,但是增删元素快。

Set集合下有主要的两种集合,②.a.01一个是HashSet 这种集合的特点是,元素不可重复,元素存储无序。②.a.02另一个是这个集合相比HashSet集合,元素不可重复,元素存储有序。


=====================h黄成成
作者: 陈彬    时间: 2018-12-23 21:32
1.Map接口下有几个子类,各自有什么特点?        HashMap:HashMap底层采用哈希表结构来实现的,HashMap是一个无序的集合(无序是说存储和取出的顺序不一致),他保存的是Key和Value的键值对,在HashMap中,键是需要保证唯一的,如果有相同的键,那么,等同于List集合中的Set方法,他会把具有相同键值的Value值改成后面添加的数据.他的Value可以重复.如果要使用HashMap存储自定义的类型,那么要重写hashCode()方法和equals()方法,来确定键值的唯一性.
         LinkedHashMap:LinkedHashMap是HashMap的子类,LinkedHashMap底层是使用哈希表结构加链表结构来实现的,LinkedHashMap是有序的,它使用链表来保证元素的存取顺序是有序的.LinkedHashMap也是要保证Key值得唯一性,他也可以存储自定义的数据类型.也要重写hashCode()方法和equals()方法,来确定键值的唯一性.
2.目前为止,我们所学的遍历map集合有几种方式?
         keySet()方法,他把Map中所有的键取出,放在Set集合中,然后使用增强for取出在Set集合中的键值,然后通过get()方法取出对应的值.实现遍历Map集合的目的;
         entrySet()方法,直接成对的取出Key和Value的值并把他们封装成键值对对象,然后使用增强for和entrySet()方法提供的getKey()方法和getValue()方法取出Key和Value,也能实现遍历Map集合的目的;
3.请用自己的语言描述你所了解的集合体系


          分为了Collection接口下的集合和Map集合,Collection的集合又分为List集合和Set集合;
          List集合分为ArrayList,和LinkedArrayList还有远古时期遗留的Vactor.List接口下的集合的特点为:有索引,可重复,有序的(存储和取出的顺序是一致的).
          每个子类都有自己的特点,ArrayList的特点为查找速度快,因为他的底层是数组实现,有索引值.但是他的增删速度慢,因为每次使用增删操作时,都需要创建新的数组来实现增删操作.LinkedArrayList的特点是,增删速度快,查找速度慢.因为LinkedArrayList底层采用的是链表结构,所以需要进行增删操作时,只需要改变连接的地址就能实现,不需要创建行的数组,但是查找时,每次都是重头开始查找,所以查找速度慢.Vactor的特点是,他线程安全,是单线程的,所以他的速度比起其他多线程的集合要慢.
          Set集合分为HashSet和LinkerHashSet. Set集合下的特点是,无索引(所以不能使用带所以的方法),不可重复.
           HashSet 是无序的,底层是使用哈希表来实现的,每次存储数据时会计算对应的哈希值,不同直接添加相同会进行equals比较,加快了存储的速度.查找速度也快.
           LinkerHashSet是有序的,他的存储和HashSet相同,只不过多了一个链表来保证元素的有序性及存储和取出的顺序相同.
Map集合下分为HashMap,和LinkedHashMap.他们都是以键值对的方式来存取元素的,都必须要保证Key的值是唯一的.如果具有相同的键,那么就等同与List中的Set方法,会覆盖具有相同值的Value值,他们都可以使用自定义的数据类型,但是如果数据类型当成键时,必须重写hashCode()方法和equals()方法来保证键值的唯一性.
           HashMap底层采用哈希表来实现,他是无序的及存储和取出的顺序不同;
           LinkedHashMap是HashMap的子类,他的底层是通过哈希表加上链表来实现的,他是有序的,及存储和取出的顺序相同.他底层加的链表是为了保证存储的顺序和取出的顺序一致.

作者: 赖熙蒙    时间: 2018-12-23 21:35
1.Map接口下有几个子类,各自有什么特点?Map接口下有HashMap和LinkedHashMap两个子类。
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

2.目前为止,我们所学的遍历map集合有几种方式?
两种,键找值方式和键值对方式。
键找值:通过keSet()方法获得map中所有的键并遍历每一个键,通过get(key)方法得到每一个键相对应的值。
键值对:通过Entry方法将键值对的对应关系封装成键值对对象,再通过Set entrySet()方法从键值对对象中通过get key()/get value()方法获得相对应的键和值。
值找键:通过Collections接口下的values()方法获得map中所有的值并遍历每一个值,再通过get(value)方法得到每一个值相对应的键。

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

集合体系中包括双链集合和单链集合,双链集合中有map集合,单链集合中有collection集合。Map集合下有HashMap和LinkedHashMap两个子类,Collection集合下有List和Set两个子类,以及ArrayList、LinkedList、Vector、HashSet、LinkedHashSet五个实现类。

集合体系.jpg (79.71 KB, 下载次数: 24)

集合体系.jpg

作者: 陈佳鹏    时间: 2018-12-23 21:35
1.Map接口下有HashMap 和LinkedHashMap两个子类。HashMap无序;键不可重复,值可以重复;键和值一一对应,如果重复键,则先前的值会被替换掉;LinkedHashMap和HashMap的区别是LinkedHashMap是有序的。
2.两种方式,通过键找值运用keySet方法遍历或者通过键和值的对应关系运用entrySet方法遍历。
3.集合分为单列集合(Collection接口)和双列集合(Map接口),Collection接口下分为List子接口和Set子接口。List子接口的共性是有序,可重复,有索引,List下主要实现类为ArrayList,LinkedList和Vection,ArrayList数据结构运用的数组,查询快增删慢,LinkedList数据结构运用的是链表,增删快,查询慢,Vection主要特点是数据安全单线程。Set接口的共性是不可重复,无索引,实现类有HashSet和LinkedHashSet,HashSet是无序的,LinkedHashSet是有序的,Set下实现类运用的数据结构是数组+链表/红黑树,查询非常快。Map接口下实现类有HashMap和LinkedHashMap,HashMap无序;键不可重复,值可以重复;键和值一一对应,如果重复键,则先前的值会被替换掉;LinkedHashMap和HashMap的区别是LinkedHashMap是有序的。
作者: 陈基林    时间: 2018-12-23 21:36
1.Map接口下有几个子类,各自有什么特点?有HashMap、LinkedHashMap以及HashTable这三个子类,HashMap的特点是不能存储重复的元素,元素的存储与读取的顺序不一定一致,LinkedHashMap与之相比多了一条链表用来记录数据存储时的顺序,这样读取的顺序就能一致,其他都一样;至于HashTable它不能存储null元素,它是单线程的因此运行慢。
2.目前为止,我们所学的遍历map集合有几种方式?
两种,一种是通过键找值keySet方法遍历,另外一种是通过entrySet方法将map里面的元素键值对存入一个set集合,再利用遍历这个set集合完成遍历map集合。
3.请用自己的语言描述你所了解的集合体系

集合分为单列集合和双列集合;单列集合只能存储一个对象,双列集合可以同时存储一对对象,类似单身和情侣之间的区别。单列集合大致分成两个派系,List是有索引值,能存储重复的元素以及元素的存取顺序一致性,而set接口无索引、不能存储重复的元素。因为它的实现类的底层利用的是哈希表,相同元素的哈希值相同就不能再进行存储。Map接口下的实现类HashMap底层也是哈希表结构,因此里面存储的键值对中的键是不能相同的,对于对应的值没有要求,可以是相同类型的也可以是不同类型的,一样也只能存储引用类型数据。因为这样的键与值成对存储的特性,Map在很多情况下都能发挥作用。

作者: 苏阿合    时间: 2018-12-23 21:41
1.Map接口下有几个子类,各自有什么特点?
Map接口下有HashMap集合,LinkedHashMap集合,Hashtable集合。
HashMap集合:底层是哈希表结构,多线程,无序(存入和取出元素不一致),无索引,存储的key键不可重复,能存储null键null值。
LinkedHashMap集合:底层是哈希表+链表结构(有一条链表用来记录存入顺序),多线程,有序(存入和取出元素一致),无索引,存储的key键不可重复,能存储null键null值。
Hashtable集合:底层哈希表结构,单线程,安全,效率低,无序(存入和取出元素不一致),无索引,存储的key键不可重复,不能存储null键null值。

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

3.请用自己的语言描述你所了解的集合体系
集合中有Collection接口(单列集合)和Map接口(双列集合),Collection接口下有List接口和Set接口。List接口底下有ArrayList集合:底层是数组结构,多线程不安全,有索引,有序,元素可重复,查询快增删慢,LinkedList集合:底层是双向链表结构,多线程不安全,有索引,有序,元素可重复,查询慢增删快,Vector集合底层是数组,单线程安全,有索引,有序,元素可重复,效率低。它们共同特点:有索引,有序,元素可重复。Set接口底下有HashSet集合:底层是哈希表,多线程不安全,无索引,无序,元素不可重复,存储元素很快。LinkedHashSet集合:底层是哈希表+链表,多线程不安全,无索引,有序,元素不可重复,存储元素很快。它们共同特点:多线程不安全,无索引,元素不可重复,存储元素很快。
Map接口下有HashMap集合:底层是哈希表,多线程不安全,无索引,无序,key键不可重复,存储元素很快,能存null键null值。LinkedHashMap集合:底层是哈希表+链表,多线程不安全,无索引,有序,key键不可重复,存储元素很快,能存null键null值。Hashtable集合:底层是哈希表,单线程安全,效率低,无索引,无序,key键不可重复,不能存null键null值。它们共同特点:无索引,key键不可重复。
作者: 黄毅    时间: 2018-12-23 21:41
1.Map接口下有几个子类,各自有什么特点?HashMap :无序,存储的元素不可重复
LinkedHashMap :有序,存储的元素不可重复
2.目前为止,我们所学的遍历map集合有几种方式?
键找值方式:即通过元素中的键,获取键所对应的值
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。  

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

单列集合Collection接口下有List和Set接口,List接口下有ArrayList,LinkedList,Vector类
                                                      Set接口下有HashSet,LinkedHashSet类
双列集合Map接口下有HashMap,LinkedHashMap,Hashtable类
ArrayList :底层是数组,因此元素增删慢,查找快
LinkedList :底层的结构是链表结构,因此元素查找慢,增删快。
Set无法存储重复的内容
HashMap :无序,存储的元素不可重复
LinkedHashMap :有序,存储的元素不可重复




作者: 许晓明    时间: 2018-12-23 21:53
1.Map接口下有几个子类,各自有什么特点?
答:一共有3中子类,分别为HashMap类,LinkedHashMap类,HashTable类
1.HashMap的特点为:因为底层是哈希表,查询数据特别快,是一个无序的集合,每次存储元素都是一个Key值+Value值,其中key和Value值都是引用数据类型,存储的key值不可重复,每一个key最多拥有一个value值对应,可以储存null值。
2.LinkedHashMap的特点:底层为哈希表+链表结构,用链表来记录储存的迭代顺序,是一个有序的集合,每次存储元素都是一个Key值+Value值,其中key和Value值都是引用数据类型,存储的key值不可重复,每一个key最多拥有一个value值对应可以储存null值
3.HashTable的特点是:底层是哈希表,因为是单线程,线程安全,但是运行效率低,不支持null值的存储(不管再key或者value都不能存储null)。


2.目前为止,我们所学的遍历map集合有几种方式?
答:遍历map集合的方式有两种。
第一种是通过键找值的方式,对于一个map集合,可以通过KeySet()方法转换为一个储存key值的set集合,再通过增强for循环/迭代器方式遍历set集合,遍历过程中对于每一个取出的key值在使用map.get()方法取出value值。
第二种是通过键值对关系,对于一个map集合,先使用EntrySet()方法获得一个储存map集合的key/value映射的set集合,然后通过增强for循环/迭代器遍历set集合,在遍历过程中,使用映射关系的特有方法getkry(),getvalue(),获得map集合的每一个key值和相对应的value值。

3.请用自己的语言描述你所了解的集合体系
答:
1.集合首先分为2种,一种为单列集合,其顶层接口是collection接口,其中的储存的元素都是单个单个存取的,另外一种是双列集合,其顶层接口是map接口,其中储存的元素都是一对一对的存取的。
2.单列集合种分为两种,一种为list集合,list集合的特点是:有序,储存的元素可重复,储存的元素有索引,方便快速的查询到元素。另外一种是set集合,set集合的特点是:储存的元素不可重复,元素没有索引。
3.list集合的子类集合较长看到的有3种,分别为Arraylist集合,LinkedList集合,Vector集合,他们都继承了List集合的特点。其中Arraylist集合底层是数组结构,因此他查询快,增删慢,LinkedList集合的底层结构是链表结构,所以他的特点是增删快,查询慢,而Vector集合是单线程,线程安全,但是运行效率低。
4.Set集合种有2种子类集合,他们分别是HashSet集合,LinkedHashSet集合,他们均继承了se集合的特点,HashSet集合的底层结构是哈希表,所以他存取数据是无序的,而LinkedHashset集合的底层是哈希表+链表+红黑树,所以他存取数据是有序的。
5.对于双列集合的特点主要为每个元素都是有2个值组成(key+value),其中key值唯一,每一个key值最多映射到一个value值。key和value都是引用数据类型,但两者的数据类型可以相同,也可以不相同。key和value值的关系靠key维持。
6.Map接口下有3种子类:分别为HashMap集合,LinkedHashMap集合,HashTable集合。
其中HashMap集合的底层是哈希表结构,所以查询速度特别快,但是因为是多线程,不安全。他是一个储存无序的集合。
LinkedHashMap集合的底层是哈希表+链表结构,查询速度也很快,但是是一个储存有序的集合。
HashTable集合底层也是一个哈希表,是单线程,线程安全。但是不支持null值的存储,不管key值或者value值都不能储存null值。


作者: 黄海兵    时间: 2018-12-23 21:57
1:两个 HashMap:保证成对元素唯一,并且查询速度很快 但元素的存取顺序不能保证一致。
LinkedHashMap:保证成对元素唯一,并且查询速度很快 元素的存取顺序一致。
2:2种。KeySet EntrySet
3:集合体系分两种。一种叫单列,另外一种叫双列。单列顶层是Collection 下面分为List,Set。List下面还有3个实现类ArrayList LinkedList vector。
作者: 赵烈刚    时间: 2018-12-23 22:22
1.Map接口下有几个子类,各自有什么特点?
常用的有HashMap,Hashtable,LinkedHashMap;
HashMap特点:存取的顺序可能不一样(无序),键不可重复,不能被迭代器遍历;
Hashtable:速度慢,不能存储null值,null键,底层使用的是哈希表,是一个线程安全的单线程集合;
LinkedHashMap:有序,因为底层它的底层多了一层链表来记录它存储时的顺序,键不可重复;
2.目前为止,我们所学的遍历map集合有几种方式?
两种,一种‘键找值’(KeySey()方法)遍历,一种‘键值对’(EntrySet()方法)遍历
3.请用自己的语言描述你所了解的集合体系?
集合就是一个容器,只能用来存储引用数据类型;
Map为双列集合的顶层接口,它常用的子接口有HashMap,Hashtable,LinkedHashMap;
Collections为单列集合的顶层接口,它的子接口有List接口和Set接口,是一个无序的集合;


作者: 董志超Eric    时间: 2018-12-24 00:26
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集合

作者: 陈益源    时间: 2018-12-24 10:36
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()方法

作者: ab8846254    时间: 2018-12-24 12:59
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遍历    迭代器可以遍历有索引和没有索引的,在集合体系里面通用                                                                                                                                                        




作者: 林文悦    时间: 2018-12-24 15:51
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(有序的);



作者: 骆颖权    时间: 2018-12-24 16:19
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()方法。  


作者: 黄嘉宏    时间: 2018-12-24 21:58
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:存储数据采用哈希表结构和链式结构,有序


作者: 苏志祥    时间: 2018-12-25 08:48
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
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比较器解耦程度比较好,在方法里可以在一定程度上创建自定义规则排序,灵活性更高
作者: zhuyiming    时间: 2018-12-25 11:00
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()方法。


作者: 洪烁铭    时间: 2018-12-25 19:06
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的特点是不可重复,无索引值。
作者: 李嘉福    时间: 2018-12-25 21:18
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





作者: 杨鑫棋    时间: 2018-12-25 21:19
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的子类,底层是哈希表+链表,查询速度跨,是有序的。

作者: 李柏刚    时间: 2018-12-25 21:36
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值。但它有一个子类现在还很活跃。


作者: 周章强    时间: 2018-12-26 21:20
1.Map接口下有几个子类,各自有什么特点?

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

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

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

集合总体分为双列集合和单列集合。
单列集合又分为:list;set.
list的子类:arraylist,linkedlist,vector。
set的子类:hashset。hashset的子类linkedhashset。
双列集合的子类:hashmap。hashmap的子类linkedhashmap。
作者: 杨馥榕    时间: 2018-12-27 00:32
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()方法

作者: 艾卡西亚的惊喜    时间: 2018-12-29 21:59
林少伟




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