一、集合的介绍
由于数组的缺点,如:创建时指定长度,无法自动调节等。为了解决这些问题,可以采用集合对数据、对象进行存取。在java-API中封装了集合框架:Collection和Map
在百度翻译中 Collection的意思是“征收; 收集,采集; 收藏品; 募捐”
在百度百科中,对于Collection的定义指“Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。”
根据我的理解,Collection是Java中集合的一个父类。其中,集合存放的是一个个对象(字符、数字也可以当做对象处理,像基本类型的包装类)以及存放具有映射关系的关联数组。所有的集合,最底层的实现方式是用数组实现。总结如下:
1.在使用时,不允许直接使用,需要实现其下子接口使用,如:List、Set使用。或者直接创建List、Set下的实现类的对象来使用。
2.其下子接口中,各自拥有其各自特点,如:有的可以排序(有的却不可以),有的允许重复对象(有的不允许)。
3.除了Collection外还有Map接口也是集合的一种。
4.遍历集合元素可以使用Iterator迭代器接口
集合框架结构如下:
集合:Collection、Map 注:均为接口
Collection:Set、List 注:均为接口
Set:HashSet LinkedHashSe TreeSet 注:均为实现类
List:ArrayList LinkedList Vector 注:均为实现类
Map:HashMap TreeMap HashTable 注:均为实现类
接口中有一个类-Collections工具类,可用于操作Map和Collection
二:Collection与Map
第一章说道,集合分为两个分支接口:Collection和Map,其各自又有各自的实现类或者接口,那么他们的特点如何,使用时该如何选择?
Collection接口:
- Set:元素无序、不可重复
- List:元素有序、可以重复