笔记
第1章 包和权限修饰符
1.1 包的特点:
可以有多层
不同包下的文件名可以重复
包的声明必须是第一行代码
类的全名:包名.类名
2.1权限修饰符:
public 当前类,相同包下不同的类,不同包下的类
default 当前类,相同包下不同的类
private 当前类
protected 当前类,相同包下不同的类
default:当前包下使用
protected:让子类对象使用
2.2成员内部类:
在类的成员位置,和成员变量以及成员方法所在的位置是一样的
在内部类当中,可以直接访问外部类的成员,包括私有成员
我们可以使用abstract,final修饰成员内部类
2.3局部内部类
在方法内,出了方法之后就无法使用
2.4匿名内部类:
可以把匿名内部类看成是一个没有名字的局部内部类
定义在方法当中
必须在定义匿名内部类的时候创建他的对象
格式:new 类/接口(){
如果是创建了继承这个类的子类对象,我们可以重写父类的方法
如果是创建了实现这个接口的子类对象,我们必须要实现该接口的所有方法
};
原理:而是创建了继承这个类的子类对象或者是创建了实现这个接口的子类
--------------------------------------------------------------------------------------
day5
------------------------------------------------------------------------------------------
第1章Object类 & System类
1.1Object类
1.1.2获取字节码对象的方式
1.通过Object类的getClass()方法获取
2.通过类名调用属性class来获取
3. 通过Class类的静态方法forName()来获取
1.2; toString方法
equals()方法
1.2 System类
数据源和目的地
*
* src:源数组
* srcPos:指定从哪个索引位置开始复制 1
* dest:目标数组
* destPos:指定目标数组接收元素的索引位置
* length:目标数组接收元素的个数
第二章 date日期相关类
alendar:日历,提供了一些操作年月日时的方法
获取
修改
添加
3.3包装类的自动装箱与拆箱
JDK1.5特性:自动装箱和拆箱
3.4 正则表达式:就是一套规则,可以用于匹配字符串
-------------------------------------------------------------------------------------------------
day6集合
-------------------------------------------------------------------------------------------------
第1章集合&迭代器
1.1集合体系结构
ArrayList
* 集合的体系结构:
* 由于不同的数据结构(数据的组织,存储方式),所以Java为我们提供了不同的集合,
* 但是不同的集合他们的功能都是相似,不断的向上提取,将共性抽取出来,这就是集合
体系结构形成的原因
1.2Collection中的常用功能:
*boolean add(Object e): 向集合中添加元素
*void clear():清空集合中所有元素
*boolean contains(Object o):判断集合中是否包含某个元素
*boolean isEmpty():判断集合中的元素是否为空
*boolean remove(Object o):根据元素的内容来删除某个元素
*int size():获取集合的长度
*Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中
1.3迭代器
* 集合的遍历方式:
* 1.toArray(),可以把集合转换成数组,然后遍历数组即可
*2.iterator(),可以返回一个迭代器对象,我们可以通过迭代器对象来迭代集合
* Iterator:可以用于遍历集合
* E next() :返回下一个元素
* boolean hasNext() :判断是否有元素可以获取
* 注意:Exception in thread "main" java.util.NoSuchElementException
* 使用next方法获取下一个元素,如果没有元素可以获取,则出现NoSuchElementException
创建集合对象 Collection c = new ArrayList();
并发修改异常产生原因:
当使用迭代器遍历集合的时候,使用了集合中的 增加/删除 方法,导致并发修改异常产
迭代器依赖于集合,相当于集合的一个副本,当迭代器在操作时,
解决方案:
你就别使用迭代器
在使用迭代器进行遍历的时候使用迭代器来进行修改
第2章增强for&泛型
2.1 泛型:
定义:是一种广泛的类型,把明确数据类型的工作提前到了编译时期,借鉴了数组的特点。
好处:避免了类型转换的问题。
可以减少黄色警告线。
可以简化代码的书写。
什么时候使用:问API,当我们看到<E>,就可以使用泛型了。
2.2 增强泛型
foreach:增强for循环,一般用于遍历集合或者数组
格式:for(元素的数据类型 变量 : Collection集合或数组){
}
注意: 它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历的过程中对集合
元素进行增删操作。
第3章常见数据结构
3.1 数组
数组,采用该结构的集合,对元素的存取有如下的特点:
查找元素快:
增删元素慢
特点:数组的长度一旦定义则不可改变
数组中的元素都有整数索引
数组只能存储同一类型的元素。
数组既可以存储基本数据类型,也可以存储引用数据类型。
3.2 链表 特点:
A多个节点之间,通过地址进行连接;
B查找元素慢;
C增删元素慢。
list:
*有序的;(存储和读取的顺序是一致的);
有整数索引;
允许重复的。
list的特有功能:
第四章 List子体系
4.1 List 子体系特点;
A:有序的;
B:有整数索引
C:允许重复。
4.2 List的特有功能:
void add(int index, E element)
E get(int index)
E remove(int index)
E set(int index, E element)
增删改查
4.3 LinkList 特有功能
LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢
void addFirst(E e) :向链表的头部添加元素
void addLast(E e):向链表的尾部添加元素
E getFirst():获取链头的元素,不删除元素
E getLast():获取链尾的元素,不删除元素
E removeFirst():返回链头的元素并删除链头的元素
E removeLast():返回链尾的元素并删除链尾的元素
|
|