- 早上查题,背一遍然后检查自己一遍以上
- 中午有时间就背一遍以复习昨天的为主
- 晚上背一遍,第二天中午再看一眼:day+1
- 第四天课间看一遍:day+3
- 第七天课间看一遍:day+6
- 第十五天课间看一遍:day+14
集合与数组区别
数组也是容器,定长,访问较快; 集合不需要固定长度,自动扩充
数组容器元素的类型是统一的;集合中可以存放任意类型的数据
集合的框架
Java的集合框架 从整体上可以分为两种:
1、Collection接口:该接口下的所有子孙均存储的是单一对象
2、Map接口 :该接口下的所有子孙均存储的是key-value(键值对)形式的数据
另外还有三个分支,均是为上述服务的。
Iterator(迭代器):主要用于遍历Colleciton接口的及其子类而设计。
Comparator(比较器): 在集合中存储对象时候,用于对象之间的比较
Collecitons 是工具类:注意该类名带个s,一般就表示工具类。里面提供了N多静态方法,来对Colleciton集合进行操作。
Collections 和Collection的区别
1、Collection是线性集合的父接口,继承与他有关的接口主要有List和Set
2、Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作
List接口,
下有三个实现类。Arraylist,linkedlist ,Vextor已淘汰
- Collection的子接口List - 有序的集合;允许重复
- ArrayList
- LinkedList
List接口两个实现类的区别:
ArrayList
1.ArrayList是线性顺序存储的,是一种线性表
2.它的特性和数组很接近,数组大小是不变的,而ArrayList的大小是可以动态改变的
LinkedList
1.是数据结构中链表的java实现
2.相对于List来说,LinkedList最主要的功能方面的增强是可以在List的头部和尾部添加、删除、取得元素,直接提供了这些方法的实现。
Set接口,下有两个实现类
- Collection的子接口List ,无序的集合;不允许重复
下有两个实现类 - ArrayList
- LinkedList
Set接口的实现类 HashSet、TreeSet区别
HashSet — HashSet的特性在于其内部对象的散列存取,即采用哈希技术
TreeSet — TreeSet输入的顺序跟存储的顺序不同,但是存储是按照排序存储的(自动把输入的分好再存)
TreeSet的特别之处
1.TreeSet里不能放null,唯一不能放null的集合
2.compareable接口要求,集合中要么全是String要么全是整形要么全是自定义的,必须是同一类的。如果是自定义的必须是继承comparable接口的,而且要重写compare方法,使TreeSet有排序的依据。不是自定义的类型也可以用匿名内部类来重写排序方法