1.Map接口有什么特点,谈谈你所了解的Map实现类?
Map接口的特点:
键值对存储且一一对应,键不可重复,值可重复,存取无序
Map的实现类
HashMap:可使用任意引用数据类型,作为键和值都可存null,因为Map集合键的唯一性,作为键的类必须重写HashCode和equals,值没有要求
LinkedHashMap:有序,添加了一条链表维护顺序
TreeMap集合:可对存储的元素排序,按键的类中默认排序规则,或者创建对象时指定的自定义比较
2.目前为止,我们所学的遍历map集合有几种方式?
两种:
一种是keySet():
1.先调用keySet()获取map集合中的键存入set集合中
2.遍历set集合,用map集合的get方法得到值
3.打印键和值
一种是entrySet():
1.先调用entrySet方法,拿到每对键值对象封装的Set集合
2.遍历Set集合。拿到每对键值对象
3.getKey获得键 getValue获取值
3.请用自己的语言描述你所了解的集合体系?
集合分为:单列集合 和 双列集合
1.1单列集合Collection接口:
存储的元素只有一个值
Collection接口又分为List接口 和 Set接口
1.1.1 List接口:特点有序(元素按顺序存储),元素值可重复,有索引值
List接口有两个需要重点学习的实现类:
ArrayList集合(底层为数组结构,特点是查询快增删慢) 和 LinkedList集合(底层是链表结构,查询慢,增删快)
1. 1.2 Set接口:存储元素不重复,集合无索引值
Set接口有两个需要重点学习的实现类:
HashSet实现类(无序) 和 TreeSet实现类(有序)
HashSet实现类里面有个LinkedHashSet集合(元素存取有序)
1.2双列集合(Map接口):
一个元素有一个组(两个值)
key(键):value(值)
1.2.1 Map接口需要重点学习的实现类:
HashMap实现类(双列集合有key:value,存储元素不重复,集合无索引值)
HashMap的子类: LinkedHashMap (存储元素有序)
|