集合框架的概述:
一、关于集合,JAVA给我们提供了两个常用的接口,一个是Collection接口,一个是Map接口;
二、Collection接口:
(一)提供:
单列的集合,用来存储一个一个的对象
(二)子接口:
List接口:
1、特点:存储有序的、可重复的数据 -->“动态”数组
2、实现类:ArrayList、LinkedList、Vector
Set接口;
1、特点:存储无序的、不可重复的数据 -->正如我们高中讲的集合,具有无序性、单一性;
2、实现类:HashSet、LinkedHashSet、TreeSet
三、Map接口:
(一)提供:
双列集合,用来存储一对一对(KEY-VALUE)的数据 -->高中函数:y=f(x)
(二)实现类(没有子接口)
HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
整理
|----Collection接口:单列集合,用来存储一个一个的对象;
|----List接口:存储有序的、可重复的数据 -->“动态”数组
|----实现类:ArrayList、LinkedList、Vector
|----Set接口:存储无序的、不可重复的数据 -->高中讲的集合
|----实现类:HashSet、LinkedHashSet、TreeSet
|----Map接口:双列集合,用来存储一对一对(KEY-VALUE)的数据 -->高中函数:y=f(x)
|----实现类:HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
四、关于数组的简单描述:
1、集合、数组都是对多个数据进行存储操作的结构,简称Java容器;这里说的存储是指内存层面的存储,而不是存储到磁盘等持久化的存储;
2、数组在存储多个数据方面的特点:
2.1一旦初始化以后,它的长度就确定了;
2.2数组一旦定义好,其元素的类型也就确定了,我们也就只能操作指定类型的数据了。比如:String[] arr; int[] arr1;Object[] arr2(这个是多态类型,但存储的数据的类型还是要统一)
3、数组在存储多个数据方面的缺点:
3.1一旦初始化以后,其长度就不可以修改;
3.2数组中提供的方法非常有限,对于添加、删除、插入数据等操作,非常不便,同时效率不高;
3.3获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用;
3.4数组存储数据的特点:有序、可重复;对于无序、不可重复的需求,不能满足。
以上是笔者对集合的一个简单概述,后续学习请继续看《集合Collection接口中方法的使用(2)》等文章。有不足之处也希望小伙伴们留言指出呀!