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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



今天我们学习了Map集合,请根据自己的理解回答下面问题:
1.Map接口有什么特点,谈谈你所了解的Map实现类?
答:map接口是双列集合,它的实现类的元素,都是以键值对为单体存在的。其中键不可重复,值允许重复,
键与值是一对一映射的。且键与值可以是任意引用类型。
Map的两个实现子类中,TreeMap相对于HashMap集合,增强了排序的功能。

2.目前为止,我们所学的遍历map集合有几种方式?
答:有两种方案对map集合进行遍历。其一,将键抽取进一个Set集合中,通过遍历这个键集合,逐个访问到键和对应值。
其二,将键值对抽取进一个Collection集合中,通过遍历这个集合获取每个键值对,再访问键和值。

3.请用自己的语言描述你所了解的集合体系
答:集合是存储数据信息管理的一种容器,使用集合,首先需要根据实际需求判断,是否需要键值对这么一种结构的个体模式
,如果实际中的情况贴合这种模式,则需要选择双列的集合。如果不需要,则选取单列集合Collection。
单列集合根据元素是否可以重复,分为List和Set两种,LIst下的ArrayList,底层实现是数组,其具有索引,操作方便。LinkedList
底层实现是链表,没有索引,遍历只能通过迭代器。Set集合下的三个实现子类,LinkedHashSet比HashSet增强了存储次序的功能
TreeSet比前者增强了排序功能。
回复 使用道具 举报
1.Map接口有什么特点,谈谈你所了解的Map实现类?
答:Map接口是双列集合接口,元素由键值对组成。
      特点:①Map集合键和值是映射关系;②一个键对应一个值;
        ③键不能重复,值可以重复;④元素存取无序
     Map接口实现类HashMap是存取无序的双列集合,不能保证取元素的顺序和存储元素的顺序一致
     Map接口实现类TreeMap是有序的双列集合,排序方式取决于该类的构造方法。如果创建TreeMap
     对象时,调用的是空参构造,会使用键的自然顺序进行排序;如果使用Comparator比较器实现类作为
     构造方法的参数,那会根据给定的比较器进行排序。

2.目前为止,我们所学的遍历map集合有几种方式?
答:map的遍历方式有2种
      第一种:①使用map的keySet()方法返回一个set集合,该集合包含map集合中所有的键
           ②通过遍历set集合,获取到每一个键
           ③使用map的get()方法,得到指定键所映射的值
      第二种:①使用map的entryset()方法,得到一个set集合包含map中的所有封装好的键值对对象
                ②遍历set集合,获取每一个键值对对象
           ③通过键值对对象的getKey()方法和getValue()方法分别获得map的键和值

3.请用自己的语言描述你所了解的集合体系
答:集合体系包含了单列集合(Collection)和双列集合(Map)
      单列集合中包含:
       (1) List集合接口:有序、有索引、元素可重复,List集合中有:
              ArrayList集合类:底层是数组结构,特点:查询快、增删慢
        LinkedList集合类:底层是链表结构,特点:查询慢、增删快

       (2)Set集合接口:无序、无索引、元素不可重复,Set集合中有:
            HashSet集合类:底层是哈希表(数组+链表/红黑树组成),元素存取无序、没有带索引的方法、
                                  不包含重复元素
                                        LinkedHashSet类是HashSet的子类,具有元素存取有序的特点
                TreeSet集合类:特点:元素有序、没有索引、不包含重复元素
                         TreeSet有2种排序方式,①默认排序:在泛型类中实现Comparable接口,重写
                         compareTo方法  ②使用自定义比较器:实现Comparator接口,重写compare
                         方法
回复 使用道具 举报
1、集合和数组的区别?

1.长度:集合可变size()数组不可变lenght

2.类型:集合是引用数据类型,数组是基本加引用

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别? 迭代器就是集合遍历数组的一种方式,增强for底层就是迭代器 。增强for就是普通for循环改进版,更加简洁高效。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点 List下面有ArrayList和LinkedList ArrayList底层是数组结构主要查询快,增删慢。 LinkedList底层是链条结构主要增删快,查询慢。

1.Map接口有什么特点,谈谈你所了解的Map实现类?

Map接口 键和值一体,键和值相互对应,键不可重复值可以,没有顺序。Map实现类一个是HashMap底层就是哈希表,可存储null旗下LinkedHashMap有序。treeMap,元素可以进行排序两种方法自然排序和自定义排序

2.目前为止,我们所学的遍历map集合有几种方式? 3.请用自己的语言描述你所了解的集合体系  

两种

keyset方法得到集合键,通过键得到value的值

entryset方法得到键和值的集合遍历集合得到对象get找到值和键
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马