黑马程序员技术交流社区
标题: 【厦门校区JavaEE就业6期-每日总结】Map [打印本页]
作者: 厦门校区 时间: 2019-3-23 15:15
标题: 【厦门校区JavaEE就业6期-每日总结】Map
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
2.目前为止,我们所学的遍历map集合有几种方式?
3.请用自己的语言描述你所了解的集合体系
作者: 郑海波 时间: 2019-3-23 19:13
本帖最后由 郑海波 于 2019-3-25 21:32 编辑
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后被其他集合取代
作者: 陈伟彬 时间: 2019-3-23 19:23
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取代了);
作者: 陈伟彬 时间: 2019-3-23 19:24
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取代了);
作者: 林志鹏 时间: 2019-3-23 19:58
1.Map接口下有几个子类,各自有什么特点?
我们学习的Map子类有2个子类
(1)HashMap集合:其集合底层是哈希表结构,查询速度非常快;
HashMap集合是一个无序的集合,存储数据和取出数据的顺序可能不一致,并且Key的值不能重复,Value的值是可以重复
键和值可以存引用类型数据也可以存对象;为了要保证键的唯一性,需要重写键值的hashCode()方法和equals()方法;
(2)LinkedHashMao集合:
1.其集合底层是哈希表+链表(保证迭代的顺序)其是HashMap的子类所以Key和Value的值和存储的数据类型跟HashMap一致。
2.是一个有序的集合,存储数据和取出数据顺序是一致的
2.目前为止,我们所学的遍历map集合有几种方式?
目前所学的遍历map集合有两种方式:
(1)用键找值keySet方法遍历:
1.先获取Map中所以的键由于键是唯一的所以返回一个Set集合存储所以的键keyset()
2.遍历键的et集合得到每一个键
3.根据键get(K key)获取键对应的值。
(2)用键值对entrySet方法:
1.利用entrySet把Map集合中的Entry对象取出来存在一个Set集合中
2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
3. 通过键值对(Entry)对象,获取Entry对象中的键与值。 方法提示: getkey() getValue()
3.请用自己的语言描述你所了解的集合体系
因为整理格式问题用图片方式上传
作者: 林志鹏 时间: 2019-3-23 20:02
1.Map接口下有几个子类,各自有什么特点?
我们学习的Map子类有2个子类
(1)HashMap集合:其集合底层是哈希表结构,查询速度非常快;
HashMap集合是一个无序的集合,存储数据和取出数据的顺序可能不一致,并且Key的值不能重复,Value的值是可以重复
键和值可以存引用类型数据也可以存对象;为了要保证键的唯一性,需要重写键值的hashCode()方法和equals()方法;
(2)LinkedHashMao集合:
1.其集合底层是哈希表+链表(保证迭代的顺序)其是HashMap的子类所以Key和Value的值和存储的数据类型跟HashMap一致。
2.是一个有序的集合,存储数据和取出数据顺序是一致的
2.目前为止,我们所学的遍历map集合有几种方式?
目前所学的遍历map集合有两种方式:
(1)用键找值keySet方法遍历:
1.先获取Map中所以的键由于键是唯一的所以返回一个Set集合存储所以的键keyset()
2.遍历键的et集合得到每一个键
3.根据键get(K key)获取键对应的值。
(2)用键值对entrySet方法:
1.利用entrySet把Map集合中的Entry对象取出来存在一个Set集合中
2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
3. 通过键值对(Entry)对象,获取Entry对象中的键与值。 方法提示: getkey() getValue()
3.请用自己的语言描述你所了解的集合体系
整理知识点的格式问题由图片上传
作者: 罗加铭 时间: 2019-3-23 20:17
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,存储数据采用的哈希表结构+链表结构)
作者: java基础6期刘伟 时间: 2019-3-23 20:18
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
作者: 陈驰煜 时间: 2019-3-23 20:55
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是一个哈希表,存取无序,不能存储重复元素
LinkedHashMap:底层是一个哈希表+链表,存取有序,不能存储重复元素
HashTable:底层是一个哈希表,存取无序,不能存储空键和空值,且是不同步的,效率较低,在JDK1.2之后被HashMap取代
2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式,
a.使用keySet()方法获取键的集合,通过遍历键的集合同时通过get()获取对应值来遍历map
b.使用entrySet()方法获取包含所有键值对的集合,再遍历键值集合,使用entry对象的getKey()和getValue()方法来遍历map
3.
作者: 开心的小孩 时间: 2019-3-23 20:56
陈鹏涛
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
HashMap linkedhashmap Hashtable(3类)
HashMap:
HashMap集合底层是哈希表,查询速度特别的快
哈希表:数组+单向链表/红黑树,
hashmap集合是一个无序的集合,存储元素和取出元素的顺序有可能不同
linkedhashmap:
linkedhashmap集合底层是哈希表+链表
linkedhashmap集合是一个有序的集合,存储元素与取出元素一致(有序的)
Hashtable:
Hashtable底层也是一个哈希表,是一个线程安全的集合,单线程集合。速度慢
2.目前为止,我们所学的遍历map集合有几种方式?
2种
1种:把map集合中的方法keyset()把map集合中所有的key拿出来放入set集合
中
遍历set集合,获取map集合的每一个key
通过key值找到对应的value值
另一种: 使用entry对象的getkey()和getvalue()方法
3.请用自己的语言描述你所了解的集合体系
Collection集合是:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口List与Set。
list集合特点:
1有序的集合(存储的元素和取出的元素循序是一致 的)
2索引的,包含了一些索引的方法
3可以重复元素
4.底层是数组+链表
子类有:LinkedList ArrayList Vector
LinkedList :
1.底层是一个链表结构:查询慢,增删快
2.里边包含了大量操作首尾元素的方法
ArrayList:
1底层是数组;
2查询快,增删慢
Vector:
JAVA1.0的方法,数据存储效率较低,但是安全性高
Set集合特点:
1. 不包含重复元素基于哈希表实现的
2.没有带索引的方法
底层:底层是数组+链表/红黑树的结构
子类有: Map HashMap linkedhashmap
Map:map集合是一个双列集合,一个元素包含两个值(key,value)
-
map集合中的元素,key和value的数据类型可以相同,也可以不同。
key是不允许重复的,value是可以重复的
- key与value是一一对应的
HashMap
:
1HashMap集合底层是哈希表,查询速度特别的快
哈希表:数组+单向链表/红黑树,
2hashmap集合是一个无序的集合,存储元素和取出元素的顺序有可能不同
linkedhashmap
:
1linkedhashmap集合底层是哈希表+链表
2linkedhashmap集合是一个有序的集合,存储元素与取出元素一致(有序的)
作者: 开心的小孩 时间: 2019-3-23 20:57
陈鹏涛
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
HashMap linkedhashmap Hashtable(3类)
HashMap:
HashMap集合底层是哈希表,查询速度特别的快
哈希表:数组+单向链表/红黑树,
hashmap集合是一个无序的集合,存储元素和取出元素的顺序有可能不同
linkedhashmap:
linkedhashmap集合底层是哈希表+链表
linkedhashmap集合是一个有序的集合,存储元素与取出元素一致(有序的)
Hashtable:
Hashtable底层也是一个哈希表,是一个线程安全的集合,单线程集合。速度慢
2.目前为止,我们所学的遍历map集合有几种方式?
2种
1种:把map集合中的方法keyset()把map集合中所有的key拿出来放入set集合
中
遍历set集合,获取map集合的每一个key
通过key值找到对应的value值
另一种: 使用entry对象的getkey()和getvalue()方法
3.请用自己的语言描述你所了解的集合体系
Collection集合是:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口List与Set。
list集合特点:
1有序的集合(存储的元素和取出的元素循序是一致 的)
2索引的,包含了一些索引的方法
3可以重复元素
4.底层是数组+链表
子类有:LinkedList ArrayList Vector
LinkedList :
1.底层是一个链表结构:查询慢,增删快
2.里边包含了大量操作首尾元素的方法
ArrayList:
1底层是数组;
2查询快,增删慢
Vector:
JAVA1.0的方法,数据存储效率较低,但是安全性高
Set集合特点:
1. 不包含重复元素基于哈希表实现的
2.没有带索引的方法
底层:底层是数组+链表/红黑树的结构
子类有: Map HashMap linkedhashmap
Map:map集合是一个双列集合,一个元素包含两个值(key,value)
-
map集合中的元素,key和value的数据类型可以相同,也可以不同。
key是不允许重复的,value是可以重复的
- key与value是一一对应的
HashMap
:
1HashMap集合底层是哈希表,查询速度特别的快
哈希表:数组+单向链表/红黑树,
2hashmap集合是一个无序的集合,存储元素和取出元素的顺序有可能不同
linkedhashmap
:
1linkedhashmap集合底层是哈希表+链表
2linkedhashmap集合是一个有序的集合,存储元素与取出元素一致(有序的)
作者: 陈驰煜 时间: 2019-3-23 20:59
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是一个哈希表,存取无序,不能存储重复元素
LinkedHashMap:底层是一个哈希表+链表,存取有序,不能存储重复元素
HashTable:底层是一个哈希表,存取无序,不能存储空键和空值,且是不同步的,效率较低,在JDK1.2之后被HashMap取代
2.目前为止,我们所学的遍历map集合有几种方式?
有两种方式,
a.使用keySet()方法获取键的集合,通过遍历键的集合同时通过get()获取对应值来遍历map
b.使用entrySet()方法获取包含所有键值对的集合,再遍历键值集合,使用entry对象的getKey()和getValue()方法来遍历map
3.
Collection集合
List接口
ArrayList底层是一个数组, 增删时是新创建一个数组, 速度较慢
LinkedList底层是一个链表结构, 查询慢, 增删快
Vector早期版本jdk使用, 但是单线程的, 特点是速度较慢, 但安全
Set接口
不能用fori遍历, 存储的内容是不重复的
HashSet底层是一个哈希表, 查询速度快, 数据存取的顺序不一致(只是存取的顺序不一致,但打印时会按对象哈希值(一般是升序)排序)
LinkedHashSet 是HashSet的子类, 底层是哈希表+链表, 存取顺序一致
Map集合
HashMap: 底层是一个哈希表, 查询速度很快, 无序集合, 存取顺序不一致
LinkedHashMap: 底层是哈希表+链表, 存储元素和取出元素的顺序一致
Hashtable: 底层是一个哈希表, 但不能存储空值和空键, 在JDK1.2版本后被HashMap取代,是一个不同步(线程安全)的集合, 其子类Properties集合仍在使用, 是唯一一个和IO流相结合的集合
引用类型作为键时, 要求重写HashCode和equals方法
作者: 黑马六期-董安平 时间: 2019-3-23 20:59
1.Map接口下有几个子类,各自有什么特点?
答:
Map接口下常用子类为: HashMap跟LinkedHashMap
HashMap的特点:
(1).HashMap集合底层是哈希表:查询的速度特别快
JDK1.8之前:数组+单向链表
JDK1.8之后:数组+单向链表/红黑树(链表长度超过8):提高查询速度
(2).HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
LinkedHashMap的特点:
(1).LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
(2).LinkedHashMap集合是一个有序的集合,保证元素存取的顺序一致
2.目前为止,我们所学的遍历map集合有几种方式?
答;两种方法
第一种:通过键找值的方式
Map集合中的方法:
Set<K>keySet()返回次映射中包含的键的Set视图。
实现步骤:
1.使用Map集合中的方法keySet(),把Map集合的所有key取出来,存储到一个Set集合中
2.遍历set集合,获取Map集合中的每一个key。
3.通过Map集合总的方法get(key),通过key找到valu
第二种:通过键值对方式
Map集合中的方法:
Set<Map.Entry<k,v>> entrySet()返回此映射中包含的映射关系Set视图。
实现步骤:
1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的方法getKey()和getValue方法获取键与值
3.请用自己的语言描述你所了解的集合体系
答:目前为止,集合分两大类,一类为单列集合,其顶层接口是collection接口,在集合内存储的元素都是单个存取的,另一类是双列集合,其顶层接口为Map接口,在集合中存储的元素都是一对一对存取的。
一.单列集合方面,又分为List和Set两类
(1).List集合的特点是带有索引值及相关方法,元素可以重复。
List集合下面有两个常用子类ArrayList及LinkedList;
ArrayList底层采用数组存储元素,所以特点是查询快,增删慢;
LinkedList底层采用链表结构,所以特点是查询慢,增删快;
(2).Set集合的特点是不带有索引值,所以元素存储无序,但是不允许元素重复出现
Set下有两个常用子类HashSet跟LInkedSet
HashSet类的特点是元素存取无序,并且不能重复,具有良好的存取和查找性能;
作者: javawjs 时间: 2019-3-23 20:59
王佳盛
1. Map接口下有几个子类,各自有什么特点?
HashMap:
1) 底层是哈希表(JDK1.8之前是数组+链表;JDK1.8之后是数组+链表/红黑树),查询速度非常快;
2) HashMap是无序的集合;
LinkedHashMap:
1) 继承了HashMap,底层是哈希表+链表(保证迭代的顺序);
2) 是有序的集合;
Hashtable:
1) 底层是哈希表;
2) 不允许存储null;
3) 是线程安全的;
2. 目前为止,我们所学的遍历map集合有几种方式?
键找值方法遍历:
1) 调用keySet()方法获取Map集合中所有的键,并存储到一个set集合中;
2) 通过迭代器或者增强for遍历set集合,调用get()方法传入键获取值;
键值对对象遍历:
1) 调用entrySet()方法获取Map集合中所有的键值对对象,并存储到一个set集合中;
2) 通过通过迭代器或者增强for遍历set集合;
3) 调用Map.Entry<K,V>的getKey()和getValue()方法,分别获取键与值
3. 请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合;
单列集合:
Collection接口:所有单列集合的超级接口,定义了所有单列集合的共性方法;
List接口:继承了Collection接口
特点:有序的集合;有索引值和一些带索引值的方法;允许添加重复元素;
实现类:
ArrayList:底层是数组;查询快,增删慢。
LinkedList:底层是链表;查询慢,增删快。
Vector:底层是数组;是单线程的;效率较低,Jdk1.2后被ArrayList取代
Set接口:继承了Collection接口
特点:不允许添加重复元素;没有索引值和带索引的方法;
实现类:
HashSet:无序的集合,底层是哈希表;没有索引值和带索引的方法;不能用普通for遍历集合;
LinkedHashSet:继承了HashSet,是有序的集合;底层是哈希表+链表;
双列集合:
Map接口:所有双列集合的超级接口
特点:
1) 每个元素都包含两个值(key,value);
2) Key和value的数据类型可以相同可以不同;
3) Key是不允许重复的,value可以重复;
4) Key 和value是一一对应的
实现类:
HashMap:无序的集合,底层是哈希表结构;
LinkedHashMap:有序的集合,底层是哈希表+链表结构;
作者: 黑马六期-董安平 时间: 2019-3-23 21:00
1.Map接口下有几个子类,各自有什么特点?
答:
Map接口下常用子类为: HashMap跟LinkedHashMap
HashMap的特点:
(1).HashMap集合底层是哈希表:查询的速度特别快
JDK1.8之前:数组+单向链表
JDK1.8之后:数组+单向链表/红黑树(链表长度超过8):提高查询速度
(2).HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
LinkedHashMap的特点:
(1).LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
(2).LinkedHashMap集合是一个有序的集合,保证元素存取的顺序一致
2.目前为止,我们所学的遍历map集合有几种方式?
答;两种方法
第一种:通过键找值的方式
Map集合中的方法:
Set<K>keySet()返回次映射中包含的键的Set视图。
实现步骤:
1.使用Map集合中的方法keySet(),把Map集合的所有key取出来,存储到一个Set集合中
2.遍历set集合,获取Map集合中的每一个key。
3.通过Map集合总的方法get(key),通过key找到valu
第二种:通过键值对方式
Map集合中的方法:
Set<Map.Entry<k,v>> entrySet()返回此映射中包含的映射关系Set视图。
实现步骤:
1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的方法getKey()和getValue方法获取键与值
3.请用自己的语言描述你所了解的集合体系
答:目前为止,集合分两大类,一类为单列集合,其顶层接口是collection接口,在集合内存储的元素都是单个存取的,另一类是双列集合,其顶层接口为Map接口,在集合中存储的元素都是一对一对存取的。
一.单列集合方面,又分为List和Set两类
(1).List集合的特点是带有索引值及相关方法,元素可以重复。
List集合下面有两个常用子类ArrayList及LinkedList;
ArrayList底层采用数组存储元素,所以特点是查询快,增删慢;
LinkedList底层采用链表结构,所以特点是查询慢,增删快;
(2).Set集合的特点是不带有索引值,所以元素存储无序,但是不允许元素重复出现
Set下有两个常用子类HashSet跟LInkedSet
HashSet类的特点是元素存取无序,并且不能重复,具有良好的存取和查找性能;
作者: 李伟艺 时间: 2019-3-23 21:08
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
作者: 徐代成 时间: 2019-3-23 21:14
1.Map接口下有几个子类,各自有什么特点?
HashMap<k,v> implements Map<k,v>:
特点:
<1>无序集合
<2>底层是哈希表(数组+单项列表/红黑树(JDK1.8之后出现的)),查询速度快
LinkedHashMap<k,v> implements Map<k,v>::
特点:
<1>有序
<2>底层是哈希表+链表(保证迭代的顺序)
Hashtable:底层也是哈希表
不能为空(其他集合都能存null)
是一个线程安全的集合,单线程集合(慢)
Hashtable的一个子类Properties集合是唯一和IO流相结合的集合
2.目前为止,我们所学的遍历map集合有几种方式?
两种
(1)使用”键找值”的方式遍历Map集合
keySet()方法
<1>通过Map集合keySet方法找到Map集合中的key,存储到Set集合中
<2>遍历set集合获取每一个key
<3>调用get(key)方法,通过key找到value
(2)使用”键值对”的方式遍历Map集合
用entrySet()方法
<1>entrySet()把map.entrySet作为对象存储到Set集合中
<2>遍历set集合
<3>使用Entry对象中的getKey(),getValue()方法遍历key,value
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合
<1>单列集合:有最高的父类接口Collection接口,Collection接口下有两个子接口List接口和Set接口。
其中List接口,特点是有序,有索引,List接口下有两个常用实现类,分别是ArrayList集合和LinkedList集合。还有一个不常用实现类,Vector。ArrayList集合底层是数组,它的特点是查询快,增删慢,而LinkedList集合底层是链表结构,它的特点是查询慢,增删快。
Set接口下有两个常用实现类,HashSet和LinkedHashSet。HashSet底层是哈希表结构,它的特点是不包含索引,不能存储重复元素,而且哈希表查询速度快,HashSet是一个无序集合。LinkedHashSet底层是哈希表+链表结构,它与HashSet不同的是它是有序集合。
<2>双列集合:实现Map接口,它有两个常用实现类和一个不常用实现类。HashMap底层是哈希表,查询速度快,它是无序集合,LinkedHashSet底层是哈希表+链表结构,是有序集合,Hashtable底层也是哈希表,与其他集合不同,Hashtable不能为空
作者: 廖艺铭 时间: 2019-3-23 21:14
1.Map接口下有几个子类,各自有什么特点?
HashMap:允许null,非同步,存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法
LinkedHashMap:允许null,非同步,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法
Hashtable:不允许null,同步
2.目前为止,我们所学的遍历map集合有几种方式?
两种
a.通过遍历键找值方式
b.通过Entry键值对对象
3.请用自己的语言描述你所了解的集合体系
单列集合:Collection接口下分为List和Set两大分支,
其中List下有Vector、ArrayList、LinkedList实现类
Set下有HashSet、LinkedHashSet实现类
双列集合:Map接口下有HashMap、LinkedHashMap、Hashtable实现类
作者: 黄振明 时间: 2019-3-23 21:14
1.Map接口下有几个子类,各自有什么特点?
答:
Map接口的子类:
HashMap:HashMap集合的底层是哈希表,所以查询的速度非常快。HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一样。HashMap集合是一个线程不安全的集合,是多线程的集合,可以存储null值和null键。
LinkedHashMap:LinkedHashMap集合的底层是哈希表+链表的双向列表,所以查询快,同时一条链表记录元素的顺序,所以LinkedHashMap集合是有序的,存储元素和取出元素是一样的。
Hashtable:底层是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢,不能存储null值和null键。
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种方式。
SetKey()方法:
1.使用Map集合中的SetKey()方法,把Map集合所有的key取出来,存储到Set集合中
2.对set集合遍历,获取每一个key值
3.通过Map集合的get()方法取出所有的value值
entrySet()方法:
1.使用Map集合中的entrySet()方法,把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的getKey()和getValue()方法获取键和值
3.请用自己的语言描述你所了解的集合体系
答:集合分类:
1.单列集合Collection接口
collection集合是层次结构中的顶层接口,定义了所有单列集合中共性的方法,所有的单列集合都可以使用(但不包含带索引的方法),而它的底层下有List接口,和Set接口。
List接口:
1.有序的集合,存储元素和取出元素是一致的
2.允许添加重复的元素
3.有索引值,包含一些有索引的方法
Set接口:
1.不允许重复的元素
2.没有索引,不包含带索引的方法
而List接口的子接口有:ArrayList接口、LinkedList接口、Vetor接口。
Set接口的子接口有:HashSet接口:无序的集合;LinkedHashSet接口:有序的集合
2.双列集合Map接口:
Map集合:
1.是一个双列集合,一个元素包含两个值(一个key,一个value)。
2.key和value的数据类型可以相同,也可以不同。
3.key是不允许重复的,而value可以重复。
4.key和value是一一对应的。
Map的子接口有HashMap接口、LinkedHashMap接口、Hashtable接口。
作者: 黄振明 时间: 2019-3-23 21:15
1.Map接口下有几个子类,各自有什么特点?
答:
Map接口的子类:
HashMap:HashMap集合的底层是哈希表,所以查询的速度非常快。HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一样。HashMap集合是一个线程不安全的集合,是多线程的集合,可以存储null值和null键。
LinkedHashMap:LinkedHashMap集合的底层是哈希表+链表的双向列表,所以查询快,同时一条链表记录元素的顺序,所以LinkedHashMap集合是有序的,存储元素和取出元素是一样的。
Hashtable:底层是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢,不能存储null值和null键。
2.目前为止,我们所学的遍历map集合有几种方式?
答:两种方式。
SetKey()方法:
1.使用Map集合中的SetKey()方法,把Map集合所有的key取出来,存储到Set集合中
2.对set集合遍历,获取每一个key值
3.通过Map集合的get()方法取出所有的value值
entrySet()方法:
1.使用Map集合中的entrySet()方法,把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的getKey()和getValue()方法获取键和值
3.请用自己的语言描述你所了解的集合体系
答:集合分类:
1.单列集合Collection接口
collection集合是层次结构中的顶层接口,定义了所有单列集合中共性的方法,所有的单列集合都可以使用(但不包含带索引的方法),而它的底层下有List接口,和Set接口。
List接口:
1.有序的集合,存储元素和取出元素是一致的
2.允许添加重复的元素
3.有索引值,包含一些有索引的方法
Set接口:
1.不允许重复的元素
2.没有索引,不包含带索引的方法
而List接口的子接口有:ArrayList接口、LinkedList接口、Vetor接口。
Set接口的子接口有:HashSet接口:无序的集合;LinkedHashSet接口:有序的集合
2.双列集合Map接口:
Map集合:
1.是一个双列集合,一个元素包含两个值(一个key,一个value)。
2.key和value的数据类型可以相同,也可以不同。
3.key是不允许重复的,而value可以重复。
4.key和value是一一对应的。
Map的子接口有HashMap接口、LinkedHashMap接口、Hashtable接口。
作者: 厦门第六期刘鹏 时间: 2019-3-23 21:20
本帖最后由 厦门第六期刘鹏 于 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
作者: 林艺彬 时间: 2019-3-23 21:22
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:23
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集合:底层是哈希表+链表(保证迭代的顺序);是一个有序的集合;
存储元素和取出元素的顺序是一致的。
作者: 叶彬彬 时间: 2019-3-23 21:23
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集合:有序的集合,不允许集合内的键出现重复
作者: 余建强 时间: 2019-3-23 21:27
1.Map接口下有几个子类,各自有什么特点?
HashMap和LinkedHashMap两个子类
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致.由于要保证键的唯一,不重复,需要
重写键的hashCode()方法,equals()方法
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构,通过
链表结构可以保证元素的存取顺序一致,通过哈希表结构可以保证的键的唯一,不重复,需要重写键的
hashCode()方法,equals()方法.
2.目前为止,我们所学的遍历map集合有几种方式?
两种,一种是增强for循环和迭代器遍历
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合
单列集合有:
HashSet:无序不可重复,无索引
ArrayList:有序可重复,有索引
Vertor:基本被抛弃
LinkedList:有序可重复,有两条链表
LinkedHashSet,有序不可重复,有两条链表
双列集合有:
HashMap:无序不可重复
LinkedHashMap:通过哈希表结构可以保证的键的唯一,不重复
作者: 龙舟 时间: 2019-3-23 21:28
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。
作者: Wyt1935 时间: 2019-3-23 21:28
吴元陶
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:29
今天我们学习了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。
作者: 高坂火龙果 时间: 2019-3-23 21:30
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集合是有序的。
作者: 陈志铖 时间: 2019-3-23 21:30
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是一个有序的集合
作者: 6期江岳 时间: 2019-3-23 21:34
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保证元素存储有序)。
作者: 6期江岳 时间: 2019-3-23 21:35
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保证元素存储有序)
作者: 庄家琦 时间: 2019-3-23 21:35
今天我们学习了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 (有序 查询快)
作者: java基础6期刘伟 时间: 2019-3-23 21:35
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
作者: 黑马林伟明 时间: 2019-3-23 21:35
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
作者: 6期江岳 时间: 2019-3-23 21:35
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保证元素存储有序)
作者: 李煜霖 时间: 2019-3-23 21:37
今天我们学习了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集合:底层是哈希表+链表,多了一层链表保证迭代的顺序,所以元素的储存和提取的顺序肯定相同。
作者: 曾伟清 时间: 2019-3-23 21:37
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()方法,值可以重复。
作者: 黄成龙 时间: 2019-3-23 21:38
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集合。
作者: 卢勇炜 时间: 2019-3-23 21:39
今天我们学习了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存储
数据采用的则是哈希表结构+链表结构.该集合能够保证元素的存取顺序一致.
作者: zhaizhile 时间: 2019-3-23 21:41
1.Map接口下有几个子类,各自有什么特点?
通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。
- HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
- LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
tips:Map接口中的集合都有两个泛型变量<K,V>,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量<K,V>的数据类型可以相同,也可以不同。
2.目前为止,我们所学的遍历map集合有几种方式?
键找值方式:即通过元素中的键,获取键所对应的值
分析步骤:
1. 获取Map中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键。方法提示:keyset()
2. 遍历键的Set集合,得到每一个键。
3. 根据键,获取键所对应的值。方法提示:get(K key)
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
操作步骤与图解:
1. 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。方法提示:entrySet()。
2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
3. 通过键值对(Entry)对象,获取Entry对象中的键与值。 方法提示:getkey() getValue()
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合Collection和双列集合Map
Collection接口下分为List接口和Set接口;
List接口有ArrayList实现类,LinkedList实现类和不常用的Vector实现类;
主要特点是有序和kecf
Set接口有hashSet实现类和其子linkedHashSet实现类;
主要特点是:可去重,hashSet无序;linkedHashSet有序
双列集合Map接口下有hashMap实现类和LinkedHashMap实现类
作者: 唐彬桂 时间: 2019-3-23 21:42
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
Hashmap:
1.HashMap集合底层是哈希表:查询的速度特别的快
JDK1.8之前:数组+单向链表
JDK1.8之后:数组+单向链表|红黑树(链表的长度超过8):提高查询的速度
2.hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
LinkedHashmap:
1.LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
2.LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的
2.目前为止,我们所学的遍历map集合有几种方式?
Set<K> keySet()
实现步骤:
1.使用Map集合中的方法keySet(),把Map集合所有的key取出来,存储到一个Set集合中
2.遍历set集合,获取Map集合中的每一个key
3.通过Map集合中的方法get(key),通过key找到value
Set<Map.Entry<K,V>> entrySet()
实现步骤:
1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的方法getKey()和getValue()获取键与值
3.请用自己的语言描述你所了解的集合体系
Collection
| |
list set
| | | |
Vector ArrayList LinkedList HashSet
|
LinkedHashSet
Collection是顶层接口,是所有单列集合的父接口。
list 有索引值方法,可以存储重复元素,有序
Vector 单线程,安全,但效率低,1.2版本被ArrayList取代
ArrayList 底层是一个数据,查询快,增删慢
LinkedList 查询慢,增删快,底层是链表结构
set 无索引值方法,不可以存储重复元素
HashSte 无序,底层是哈希表
LinkedHashSet 有序 底层是两条链表,其中一条负责排序
作者: java基础6期刘伟 时间: 2019-3-23 21:46
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
作者: 陈前凌 时间: 2019-3-23 21:47
1.Map接口下有几个子类,各自有什么特点?
Map下面有两个子类,分别是HashMap集合和LinkedHashMap集合
HashMap集合:底层是哈希表,查询速度快,存取顺序无序,key值唯一不能重复
LinkedHashMap集合:底层是哈希表加链表,存取顺序有序
2.目前为止,我们所学的遍历map集合有几种方式?
第一种:通过KeySet()方法获取key值集合,然后遍历set集合获取key值,通过map方法get()获取balue值
第二种:通过印象获取entrySet键对值,然后遍历循环键对值获取键与值的对应关系;
3.请用自己的语言描述你所了解的集合体系
集合体系分为单列集合和双列集合
单列集合collection接口下有List,和Set
List接口下有ArrayList集合、LinkedList集合、Vecor集合。主要特点是:有序,有索引,可以重复
Set接口下有 HashSet(无序) 和LinkedHashSet(有序),主要特点是:不重复,无索引
双列集合是Map接口,下面有HashMap集合和LinkedHashMap集合,主要特点是:一个元素包含两个值(一个key,一个value)。
HashMap:无序,Key值不能重复。
LinkedHashMap:存取顺序有序。
作者: 王旭艺 时间: 2019-3-23 21:48
1.Map接口下有几个子类,各自有什么特点?
Hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的
唯一、不重复,需要重写键的hashCode()方法、equals()方法
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的
存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法
、equals()方法。
Hashtale:存储数据采用的哈希表结构,键和值不能储存null。是单线程,运行速度慢
,但是安全。
2.目前为止,我们所学的遍历map集合有几种方式?
(1).是通过调用HashMap子类(以下用map代替)的keyset方法来获取map中的键。在通过
迭代器或者增强for循环,使用get(map.keyset)方法来获取值。
(2)第二种调用map的entryset方法获取键值对对象的set集合,通过遍历set集合获取map
的键和值
3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的
LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.双类
集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。
常见的Map集合有HashMap , LinkedHashMap ,Hashtable。
作者: 黑马6期陈华 时间: 2019-3-23 21:49
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。
作者: 蓝建华 时间: 2019-3-23 21:49
1.Map接口下有几个子类,各自有什么特点?
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
有二种,分别是通过keySet()获取集合中的所有的键,有个一种是Set<Map.Entry<K,V>> entrySet() 可以直接获取集合中的键和值,都是转换成Set通过增强for循环/迭代器方式遍历set集合
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()方法
作者: 蓝建华 时间: 2019-3-23 21:50
1.Map接口下有几个子类,各自有什么特点?
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
有二种,分别是通过keySet()获取集合中的所有的键,有个一种是Set<Map.Entry<K,V>> entrySet() 可以直接获取集合中的键和值,都是转换成Set通过增强for循环/迭代器方式遍历set集合
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()方法
作者: 张广发 时间: 2019-3-23 21:54
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:55
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下常用的子类有3个:
①HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
②LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
③HashTable:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable在jdk1.2版本之后被更先进的集合取代了。
2.目前为止,我们所学的遍历map集合有几种方式?
截止目前所学的遍历map集合有两种方式:
【keySet遍历方式】通过调用Map.keyset方法获取Map中的所有键,存储在一个Set中,然后遍历这个Set,通过Map.get方法获取每个键对应的值。
【entrySet遍历方式】通过调用Map.entrySet()方法获取Map中的所有键值对Entry,存储在一个Set中,然后遍历这个Set,通过Entry.getKey()和Entry.getValue()方法分别获取Entry对象中的键和值。
3.请用自己的语言描述你所了解的集合体系
集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: JavaEE06蒋才东 时间: 2019-3-23 21:55
1.Map接口下有几个子类,各自有什么特点?
HashMap:底层是哈希表,无序无重复
LinkedHashMap:底层是哈希表+链表,有序无重复
HashTable:底层是哈希表,线程安全,运行速度慢
2.目前为止,我们所学的遍历map集合有几种方式?
Map集合可通过键找值的方法遍历
Map集合可通过Entry键值对对象遍历
3.请用自己的语言描述你所了解的集合体系
集合体系分为单列集合Collection(有索引,有序,可重复)和双列集合Map(无索引,无序),Collection集合里包含着两个子接口分别是List接口(有序可重复)和Set接口(无序不可重复),List接口里包含了三个实现类ArrayList集合(查找快,增删慢,底层是数组),LinkedList集合(查找慢,增删快,底层是链表),Vector集合(底层是数组,效率低下),Set接口里包含了HashSet集合(无序不可重复,底层是哈希表),而HashSet集合下包含了LinkedHashSet集合(有序不可重复,底层是哈希表+链表),Map集合里包含着两个子类HashMap集合(底层是哈希表,无序)和LinkedHashMap集合(底层是哈希表+链表,有序)
作者: 吴越 时间: 2019-3-23 21:56
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下常用的子类有3个:
①HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
②LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
③HashTable:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable在jdk1.2版本之后被更先进的集合取代了。
2.目前为止,我们所学的遍历map集合有几种方式?
截止目前所学的遍历map集合有两种方式:
【keySet遍历方式】通过调用Map.keyset方法获取Map中的所有键,存储在一个Set中,然后遍历这个Set,通过Map.get方法获取每个键对应的值。
【entrySet遍历方式】通过调用Map.entrySet()方法获取Map中的所有键值对Entry,存储在一个Set中,然后遍历这个Set,通过Entry.getKey()和Entry.getValue()方法分别获取Entry对象中的键和值。
3.请用自己的语言描述你所了解的集合体系
集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: 陈弘帅 时间: 2019-3-23 21:57
今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口下有几个子类,各自有什么特点?
Map接口下有多个子类,Map接口中的集合都有两个泛型变量<K,V>,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量<K,V>的数据类型可以相同,也可以不同。
我们主要学习HashMap集合、LinkedHashMap集合。
HashMap集合:
存储数据采用的哈希表结构:数组+单向链表/红黑树(链表长度超过8时),查询速度特别快,元素的存取顺序不能保证一致。
由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap集合:
HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。
通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?
1、键找值方式:即通过元素中的键,获取键所对应的值
分析步骤:
(1). 获取Map中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键。方法提示: keyset()
(2). 遍历键的Set集合,得到每一个键。
(3). 根据键,获取键所对应的值。方法提示: get(K key)
2、Map 中存放的是两种对象,一种称为key(键),一种称为value(值),它们在在 Map 中是一一对应关
系,这一对对象又称做 Map 中的一个 Entry(项) 。 Entry 将键值对的对应关系封装成了对象。即键值对对象,这
样我们在遍历 Map 集合时,就可以从每一个键值对( Entry )对象中获取对应的键与对应的值。
3、键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
1. 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。方法提示: entrySet() 。
2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
3. 通过键值对(Entry)对象,获取Entry对象中的键与值。 方法提示: getkey() getValue()
3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.
双类集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。常见的Map集合有HashMap , LinkedHashMap ,Hashtable。
作者: 叶振鹏 时间: 2019-3-23 21:58
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:58
集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: 林奕全 时间: 2019-3-23 22:01
1.Map接口下有几个子类,各自有什么特点?
两个:HashMap集合和LinkedHashMap集合
HashMap集合特点:
(1.)可以使用null键,null值;
(2.)是一个无序的集合,多线程,底层是哈希表,查询的速度特别快
LinkedHashMap集合:
(1.)可以使用null键,null值;
(2.)是一个有序的集合,底层是哈希表+链表结构,所以保证了集合的有序性
2.目前为止,我们所学的遍历map集合有几种方式?
两种:
第一种: 键找值方法(keySet() --> get(k))
1.先map.ketSet();获取到对应的Key键,存储到一个set集合中
2.再使用迭代器或者增强for遍历一下集合,get(k)获取到每一个键对应的value值
3.最后再输出打印键和值
第二种:键值对映射entrySet方法(entry.getKey,entry.getValue)
1.先map.entryset()获取到每一个key键,存储到一个set集合中
2.遍历一下这个集合,拿到每一个entry对象
3.用entry对象的getKey,getValue方法获取到每一个K键和V值.
3.请用自己的语言描述你所了解的集合体系
集合分为单列集合和双列集合:
单列集合:最顶层是Collection接口,它里面包含所有单列集合的共性的方法.
Collection 接口下面又包含了两个接口,List接口和Set接口
List接口是有序的,可以存储重复元素,包含索引的方法.它底下包含了三个集合(Vector集合,ArrayList集合,LinkedList集合)
Set接口是不可以存储重复元素的,不包含索引的方法,而且顺序是有可能不一致,因为它底下包含的两个集合中(hashSet集合是无序的,而LinkedHashSet集合是有序的,因为它底层多了一条链表,保证了元素存储的有序性)
双列集合:最顶层的是Map接口,Map的方法所有双列集合都可以使用,它底下也包含了三个集合(HashMap集合和LinkedHashSet集合,HashTable集合)
HashMap集合可以存储Null键Null值,是无序的;
LinkedHashSet集合也可以存储Null键Null值,它是有序的.
HashTable集合是比较老的双列集合,键和值不允许包含null.
作者: 吴越 时间: 2019-3-23 22:01
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下常用的子类有3个:
①HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
②LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
③HashTable:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable在jdk1.2版本之后被更先进的集合取代了。
2.目前为止,我们所学的遍历map集合有几种方式?
答:截止目前所学的遍历map集合有两种方式:
【keySet遍历方式】通过调用Map.keyset方法获取Map中的所有键,存储在一个Set中,然后遍历这个Set,通过Map.get方法获取每个键对应的值。
【entrySet遍历方式】通过调用Map.entrySet()方法获取Map中的所有键值对Entry,存储在一个Set中,然后遍历这个Set,通过Entry.getKey()和Entry.getValue()方法分别获取Entry对象中的键和值。
3.请用自己的语言描述你所了解的集合体系
答:集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: 黄杰南 时间: 2019-3-23 22:01
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值。所了解的集合体系
作者: 吴越 时间: 2019-3-23 22:57
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下常用的子类有3个:
①HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
②LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
③HashTable:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable在jdk1.2版本之后被更先进的集合取代了。
2.目前为止,我们所学的遍历map集合有几种方式?
答:截止目前所学的遍历map集合有两种方式:
【keySet遍历方式】通过调用Map.keyset方法获取Map中的所有键,存储在一个Set中,然后遍历这个Set,通过Map.get方法获取每个键对应的值。
【entrySet遍历方式】通过调用Map.entrySet()方法获取Map中的所有键值对Entry,存储在一个Set中,然后遍历这个Set,通过Entry.getKey()和Entry.getValue()方法分别获取Entry对象中的键和值。
3.请用自己的语言描述你所了解的集合体系
答:集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: 吴越 时间: 2019-3-23 22:58
1.Map接口下有几个子类,各自有什么特点?
答:Map接口下常用的子类有3个:
①HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
②LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
③HashTable:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable在jdk1.2版本之后被更先进的集合取代了。
2.目前为止,我们所学的遍历map集合有几种方式?
答:截止目前所学的遍历map集合有两种方式:
【keySet遍历方式】通过调用Map.keyset方法获取Map中的所有键,存储在一个Set中,然后遍历这个Set,通过Map.get方法获取每个键对应的值。
【entrySet遍历方式】通过调用Map.entrySet()方法获取Map中的所有键值对Entry,存储在一个Set中,然后遍历这个Set,通过Entry.getKey()和Entry.getValue()方法分别获取Entry对象中的键和值。
3.请用自己的语言描述你所了解的集合体系
答:集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【Collection】和双列集合【Map】。
【Collection】接口下有两个主要接口【List】和【Set】
【List】接口:
通常表示一个列表(数组、队列、链表、栈等),有序的,
元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。
List获取元素的方式有两种:一种是迭代,还有一种是遍历+get
List接口是支持对元素进行增删改查动作的(add,set,get,remove)
常用的实现类为【ArrayList】和【LinkedList】,还有不常用的【Vector】(已过时)。
1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下
2、LinkedList:是基于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。
3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。
【Set】接口:
不允许包含重复的元素(通过hashcode和equals函数保证),一般不保证顺序,而且方法和Collection一致,set集合取出元素的方式只有一种:迭代器。
常用的实现类为【HashSet】和【LinkedHashSet 】。HashSet是无序的,LinkedHashSet是有序的。一般需要重写hashcode和equals方法。
【Map】
是一个双列集合,一个元素包含两个值(一个key,一个value)。key是不允许重复的,value是可以重复的。
常用的方法有增put、删remove和查get,同时put还有修改的功能。常用的遍历方式有两种:keySet和entrySet遍历方式
常用的实现类有三个:
【HashMap】:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
【LinkedHashMap】:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
【HashTable】:底层也是一个哈希表,是一个线程安全的集合,单线程集合,速度慢。不能存储空值,空键。Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的集合取代了。
作者: 刘曾铭 时间: 2019-3-24 11:54
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
作者: 沈松宏 时间: 2019-3-24 19:09
今天我们学习了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集合的底层是哈希表+链表结构,查询速度也很快,但是是一个储存有序的集合。
作者: chenopen 时间: 2019-3-25 21:31
陈开明:
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集合是一个有序的集合,存储元素和取出元素的顺序是一致的.
作者: 郑海波 时间: 2019-3-25 21:34
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后被其他集合取代
作者: 黑马林伟明 时间: 2019-3-25 21:58
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。
作者: 小翔vvvv 时间: 2019-3-25 22:00
叶凌青
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,存储数据采用的哈希表结构+链表结构)
作者: 卢春旭 时间: 2019-3-25 22:00
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取代了);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |