数据结构:
表:一对一关系
线性表:操作不受限制的表
栈:只能在栈顶进行添加和删除操作的线性表(操作受限)
字符串:是一个操作不受限,类型受限制的线性表
队列:只能在队头删除,队尾添加(操作受限)
树:一对多
网:多对多
线性表:
特点:分配连续的空间,每个空间大小相同
节省空间,只存数据,不存地址
优点:按照索引查询效率最高
元素位置=数组的起始位置+索引*元素大小
缺点:
1.按照内容查询,效率低下
2.添加删除效率低下,需要大量的移动元素
链表:
特点:分配不连续的空间,每个节点除了存储数据外,还是存储指向下一个节点的指针
优点:添加删除效率高
缺点:按照索引查询速度慢,按照内容查询效率低下
使用TreeSet存储自定义类并排序时,需要自己在类中实现Comparable接口
Comparable:内部比较器 一般将最常用的比较规则使用Comparable来指定
Comparator: 外部比较器 可以指定多种比较规则,但是一个规则对应一个外部比较器类