数组与集合的区别:
1. 内容:
数组存储同一种类型的元素,
集合可以存储不同类型的元素(我们这么做的时候很少)
2. 长度:
数组 长度固定
集合长度不固定
3. 元素的数据类型:
数组可以存储基本类型和引用类型
集合只能存储引用类型
定义数组的两种方式:
// 我们推荐而且常用第一种
type[] arrayName;
type arrayName[];
数组的初始化方式:
静态初始化:数组初始化时指定每个元的的初始值,系统决定数组长度。
arrayName = new type[] {element1, element2 ... };
动态初始化:数组定义的时候,只初始化数组长度,系统为数组分配初始值。
arrayName = new type[length];
注意:这两种初始化的方式只能用一种,不能同时使用。
了解collection:
集合可以存储多个元素,但是它对元素是有要求的:多个元素不能相同而且能够按照某个规则排序。
它所涉及的方法:
// 添加
boolean add(Object obj): //添加一个元素
boolean addAll(Collection c): //添加一个集合
// 删除
void clear(): //清空全部
boolean remove(Object): //移除一个元素
boolean removeAll(Collection c): //移除一个集合,成功 移除一个元素,返回就是true
// 判断
boolean contains(Object o): //判断是否包含该元素
boolean containsAll(Coolection c): //判断是否包含该集合的所有元素
boolean isEmpty(): //判断集合是否为空
// 获取元素
Iterator<E> iterator():迭代器
// 获取长度
int size():元素个数
// 获取与另一个集合的交集
boolean retainAll(Collection c):
List集合常用的子类有三种:
ArrayList:底层数据结构是数组。线程不安全
LinkedList:底层数据结构是链表。线程不安全
Vector:底层数据结构是数组。线程安全
Set集合常用子类:
HastSet集合:底层数据结构是哈希表(是一个元素为链表的数组)
LinkedHashSet集合:底层数据结构由哈希表和链表组成
TreeSet集合:底层数据结构是红黑树;保证元素的排序方式
简做总结,颗粒归仓!