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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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实现类
回复 使用道具 举报
今天我们学习了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 有序 底层是两条链表,其中一条负责排序
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?

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

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

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。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
(1)HashMap:
        1.底层是哈希表,查询速度特别快;
        2.

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

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

        3.


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

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

HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
        要重写键的hashCode()方法、equals()方法。
LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
                  表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
                   hashCode()方法、equals()方法。
2.目前为止,我们所学的遍历map集合有几种方式?

有二种,分别是通过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()方法
回复 使用道具 举报
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()方法
回复 使用道具 举报

1.Map接口下有几个子类,各自有什么特点?
Hashmap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
Hashtale:存储数据采用的哈希表结构,键和值不能储存null。是单线程,运行速度慢,但是安全。

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

3.请用自己的语言描述你所了解的集合体系
集合体系包含单列集合和双列集合。
单列集合又分为List和Set两大类,其中LIst集合是有序,可以重复的,带索引。常见的LIst的集合有ArrayList,LinkedList.
Set集合不能有重复元素,不带索引。常见的Set集合有HashSet,Linked,HashSet.
双类集合为Map集合为键值对,键值一一对应,键不可重复,值可以,是无序的不带索引。常见的Map集合有HashMap , LinkedHashMap ,Hashtable。
回复 使用道具 举报
1.Map接口下有几个子类,各自有什么特点?
答: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版本之后被更先进的集合取代了。


回复 使用道具 举报
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集合(底层是哈希表+链表,有序)
回复 使用道具 举报
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版本之后被更先进的集合取代了。


回复 使用道具 举报

今天我们学习了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。
回复 使用道具 举报

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。
回复 使用道具 举报

集合体系是我们需要存储多个数据,且个数不确定时(无法用数组),使用的容器。
集合体系有两个主要分支:单列集合【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版本之后被更先进的集合取代了。

回复 使用道具 举报
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.
回复 使用道具 举报
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版本之后被更先进的集合取代了。
回复 使用道具 举报
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值。所了解的集合体系
回复 使用道具 举报
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版本之后被更先进的集合取代了。

回复 使用道具 举报
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版本之后被更先进的集合取代了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马