一.集合
1.概念:存储对象的容器。
* 数组和集合区别:
* 长度:
* 数组一旦创建长度不可改变
* 集合长度可变
* 存储元素:
* 数组可以存储基本数据类型和引用数据类型
* 集合只能存储引用类型
集合就是由若干个确定的元素所构成的整体;
集合就是存储对象的容器,可以存储任意数量、任意类型的对象
在数学中我们经常遇到集合的概念:
- 有限集合:一个班所有的同学构成的集合
一个网站所有的商品构成的集合
- 无限集合:全体自然数集合:1,2,3........
有理数集合
实数集合
因为要为了方便统一处理一组类似或者相同类型的数据.
在Java中,如果一个Java对象可以在内部持有若干其他Java对象并对外提供访问接口,我们把这种Java对象称为集合集合,就是Java对象的Java对象可以存储类的类。
2.数组也可以看作是一种集合。
3.String[] ss = new String[10];//可以持有10个String对象,ss就是对象
Ss[0] = “Hello world!”; //String对象
String first = ss[0];//可以获取String对象
4.数组有以下限制:
(1)数组初始化后大小不变 {长度大小不能变
(2)数组只能按索引顺序存取 {按顺序查找方便
数组是一个连续的内存空间,在这个连续内存空间里存储了这样的数据.
5.集合有的特殊性:
(1)集合存储的长度可变
(2)集合只能存储对象,(因为集合实际上存储的是对象的引用值,也就是在堆中的地址)。基本数据类型是存在站里边的,所以不能存放基本数据类型必须经过包装类才可以存储.
二. Collection接口
1.Java提供了两种类型的集合\接口:
Collection和Map,这两种都在Java.util包下.
Collection是除Map外所有其他集合类的根接口.
Collection接口提供了2个子接口,List接口和Set接口
2.接口就是定义规范的,只有方法的名称只有参数,只有方法的返回值,只有关于方法。描述必须要实现这样的一个方法,(抽象方法)
3.List接口
(1)List接口继承自Collection接口,它规定实现它的类存储的是有序的,不唯一的集合元素,同时提供了具体的实现类ArrayList和LinkedList
(2)ArrayList:数组形成