本帖最后由 小石姐姐 于 2017-12-22 16:28 编辑
六期就业班Day05和Day06的知识点总结
#Object类&System类
---
##Object类
###Object的toString方法
* Object是各种类的根类,任何类都继承了Object。
* String toString():
* 返回该对象的字符串表示
* 输出一个对象就是默认输出这个对象的toString() 方法
* getClass():
* 发那会一个字节码对象
* Integer. toHexString():
* 返回指定参数的哈希值
###获取字节码对象的方法:
* getClass:返回一个字节码对象
* 通过类名调用属性Class来获取
* 通过class类的静态方法forName()来获取
###equals()方法
* boolean equals(Object obj)
* 使用==来比较两个对象,则比较的是两个对象的地址值。
##System类
* arraycopy方法
* arraycopy是System类下的静态方法,使用时直接调用(System.arraycopy)
* currentTimeMillis() 方法
*以毫秒值返回当前系统时间
* 其实是1970-1-1 0: 0: 0 至今过了多少毫秒
*static void exit(int staus)方法
*终止虚拟机的运行
##日期相关类
###Date类
* 通过方法来设定自己所表达的时间,可以是任意时间
* 构造方法:
* 无参:`Date()`
* ——创建的是一个表示当前系统时间的Date对象
* 有参: `Date(long date)`
* ——根据“特定时间”创建Date对象
* toLocaleString方法(已过时)可以将时间的格式改成方便观看的格式
* void setTime(long time) 方法
* 毫秒值 >> Date (设置)
* long Time()
* Date >> 毫秒值 (获取)
###SimpleDateFormat类
* 作用
* 格式化:
*Date >> String
* 方法定义:`String format (Data data)`
* 解析:
*String >> Date
* 方法定义: `Date parse(String source)`
* 构造方法:
* SimpleDateFormat():使用默认模式进行对象的构建
* SimpleDateFormat(String pattern):使用指定的模式进行对象的构建
###Calendar类:
* Calendar类的静态方法:
*` Calendar c =Calendar.getInstance();` //返回当前时间
* Calendar类提供了一些操作年月日时的方法:
* 获取:
*`int get(int field)`//返回指定日历字段的值,参数直接填写字段名即可
* 修改:
*`void set(int field ,int amount)`在指定字段修改
* 添加:
*`void add(int field ,int amount)`在指定字段添加
##包装类和正则表达式
##包装类
* 包装类就是封装了基本数据类型的类,为我们提供了更多复杂的方法和一些变量。
* Integer类
* 构造方法:
*`Integer(int value)`
*`Integer(String s)`
* 成员方法:
*String >> int
*方式1:int intValue()
*方式2:static int parseInt(String s)
* int>> String
*方式1:+ " ";
*方式2:String toString()
* 自动装箱和拆箱
###正则表达式
* boolean matches(String regex) :判断当前字符串是否匹配给定的正则表达式,是true否false #集合
---
##集合&迭代器
###集合的体系结构
* ArrayList
* 创建集合对象:`ArrayList arraylist = new ArrayList();`
* 由于不同的数据结构(数据的组织,储存方式),所以java提供了不同的集合
* 不同集合的功能是相似的,将它们的共性抽取出来,就是集合体系结构形成的原因
* 从顶层学习(共性);使用底层(具体实现)
* Collection<e> 接口
* Collection是接口,不能创建对象。
* 利用多态,父类引用指向子类对象。
* `boolean add (E e) `:添加
* `void clear()`:清空集合
* `booleancontains(Object o)`: 判断集合是否含有某元素
* `boolean isEmpty()`:判断集合是否为空
* `boolean remove(Objecto)`:删除某元素,删除成功返回true
* `int size()`:获取集合大小
* `Object[] toArray()`:专为数组
### 迭代器
* 集合的遍历方式:
1. toArray,转数组遍历
2. iterator():可以返回一个迭代器对象
* Iterator:可以用于遍历集合
* iterator():可以返回一个迭代器对象
* E next():返回迭代的下一个元素
* boolean hasNext():判断是否有元素可以获取
* 并发修改异常(ConcurretModificationException)
* 迭代器是依赖于集合的,相当于集合一个副本,在操作时发现和集合不一样,则显示异常。
##增强for
* foreach:增强for循环,一般用于遍历集合或者数组
* 格式:
```java
for(元素的类型变量:集合或者数组对象){
可以直接使用变量;
}
```
* 注意在增强for循环中不能修改集合,否则会出现并发修改异常。
##常见数据结构
* 数组
* 特点:(增删能力差,查找方便)
* 数组的长度一旦定义则不可改变
* 数组中的元素都有整数索引
* 数组中只能存储同一类型的元素
* 数组既可以存储基本数据类型,也可以存储引用数据类型
* 链表
* 链表:由链子连接起来的一堆结点
* 结点:地址值,值,下一个结点地址值
* 特点:(增删快,查找慢)
* 栈&队列
* 栈的特点:先进后出
* 队列的特点:先进先出
##List子体系
* List:
* 特点:
* 有序的(存储和读取的顺序是一致的)
* 有整数索引
* 允许重复
* 特有功能(增删改查):
*void add(int index, E element)
*在指定索引位置添加指定元素
* Eget(int index)
*根据索引获取元素
* Eremove(int index)
*删除指定索引元素,并返回
* Eset(int index, E element)
*将指定索引位置上的元素替换为指定元素,并将原先的元素返回
* List的常用子类
* ArrayList:
* 底层是数据结构,查询快,增删慢
* 查询多,增删少时使用
* LinkedList:
* 底层结构是链表,查询慢,增删快
* 查询少,增删多时使用
* LinkedList的一些特有功能:
*void addFirst(E e)
*将元素添加到索引为1的位置
*void addLast(E e)
*将元素添加到索引为size()-1的位置
* EgetFirst()
*获取索引为0的元素
* EgetLast()
*获取最后一个索引处的元素
* EremoveFirst()
*删除索引为0的元素并返回该元素
* EremoveLast()
*删除最后一个索引处的元素并返回该元素 |