如果想储存多个同类型的数据,一般可以用数组来实现,但是使用数组时会有很多缺陷,比如数组长度需要确定,查找效率比较低下,需要多次比较等。
针对数组的缺陷,Java提供了比数组更加灵活的集合框架
上图中的虚线框代表了接口或者抽象类,实线框表示开发中常用的实现类,右下角代表了工具类collections和Arrays(常用有sort排序等),最上方是三个副接口,Iterator(迭代器),Collection和Map
比较
其中比较重要的是Map接口和Collection接口,Collection接口有两个常用的子接口,List和Set,List接口可以储存一组不唯一,无序的对象,接口继承于Collection接口,是有序集合
Set接口可以储存一组唯一,有序的对象,接口继承于Collection接口,是无序集合
Collection接口储存不唯一,无序的对象,是两者的父类;
Map储存键值对象,提供Key到Value的映射,唯一且无序,相当于Set