集合(Collection)
- Java是一门面向对象的语言,就免不了处理对象
- 为了方便操作多个对象,那么我们就得把这多个对象存储起来
- 想要存储多个对象(变量),很容易就能想到一个容器
- 常用的容器我们知道有–>StringBuffered,数组(虽然有对象数组,但是数组的长度是不可变的!)
- 所以,Java就为我们提供了集合(Collection)~
数组和集合的区别
- 长度区别:数组长度固定,集合长度可变
- 内容不同:数组只能存储同一类型元素,集合可以存储不同类型元素
- 元素的数据类型:数组可以存储基本数据类型和引用数据类型,集合只能存储引用数据类型
集合的结构体系
常用集合:
List集合
特点:有序(存储顺序和取出顺序一致),可重复,实现了自己的Listiterator迭代器
方法:可以往前遍历,添加元素,设置元素
常用子类:
- ArrayList:数据结构为数组,线程不安全
- LinkedList:数据结构为链表,线程不安全
- Ventor:数据结构为数组,线程安全
Set集合
特点:无序,不允许重复,无索引
常用子类:
- HashSet:数据结构为哈希表(元素为链表的数组)
- TreeSet:数据结构为红黑树(自平衡二叉树),保证元素的排序方式
- LinkedHashSet:数据结构为链表和哈希表组成