全国咨询/投诉热线:400-618-4000

JavaSE进阶之学习笔记

更新时间:2018年01月05日10时26分 来源:传智播客 浏览次数:

集合之set接口。特点:元素存取无序,元素不可重复,无索引。

HashSet集合

创建集合对象

添加元素对象

遍历集合对象

1.转数组

2.迭代器

3.增强for

通过查看源码发现:

确保元素唯一性,先比hash值,再比地址值,或进行equals方法比较.比较结果一样则认为重复不添加.不一样则添加。当hashCode方法永远返回1时,所有对象的hash值一样。有一些对象的成员变量不同,但是还是需要进行hash和equals方法进行比较,为了提高程序的效率,可以把成员变量和hashCode方法的返回值关联起来。

collection和collects有什么去区别?

collection是集合体系的最顶层,包含了集合体系的共性

collections是一个工具类

Map双列集合(接口)

概述:双列集合用于提供一对一数据的处理,与Collection属于同级

特点:将键映射到值得对象.一个映射不能包含重复的键,每个键最多只能映射一个值

键不可重复,值可以重复

键是无序的

Map和Collections的区别

Map:双列集合,用于处理具有对应关系的数据,key是不可重复的,也叫夫妻对集合

Collection:单列集合,具有不同的子体系,有有序的,也有无序的,也叫单身汉集合

常用功能:

删除功能:

void clear();清空集合

V remove(Object obj):根据指定的key删除对应关系,并返回key对应的值

判断功能:

boolean containKey();判断指定key是否存在

boolean containValue();判断指定的value是否存在

boolean isEmpty();判断集合是否为空

覆盖功能:

V put(K key,V value);将key映射到value,key存在则覆盖value,

遍历功能:

Set

Set keySet();将所有的键返回成一个Set集合

Collection values();将所有的元素返回成一个Set集合或List集合,

获取功能:

V get(Object key)

Map的遍历方式:

1.找出所有的key,遍历所有的key集合,获取key,通过get()方法获取value

2.通过Map的EntrySet方法来把Key和Value输入到Map的内部类Entry中,再调用Entry对象的getKey方法和getValue方法来遍历输出

可变参数

当参数不确定,但类型要一致,Java可以直接转成数组

实参:(实参1,实参2,....)

形参:类型名...变量名

注意:可以在可变参数前添加别的形参,但不可以在后面加

就业第八天

异常:

概述:不正常,我们在代码出现的编译或者运行时的错误

异常包含了错误的类型、原因以及位置

体系结构:

Throwable(最顶层):

Error:出现的不能够处理的严重问题

Exception:可以处理的问题,编译时期的异常

RuntimeException:编译时正常,运行时发生的异常

常见异常:

NullPointerException:空指针

ArrayIndexOutOfBoundException:数组指针越界

任何数字除以0都会抛出异常

异常的处理方式:

//第一种方式

捕获

try{

存放可能发生的异常代码

可以有多行代码

}catch(异常类型 异常对象名){

对异常进行处理的代码

也可以通过异常对象名获取异常的信息

}finally{

用于释放资源

清理垃圾

}

首先执行try语句

发现异常,异常下面的代码不执行,跳入catch语句,catch语句结束后,try...catch结束

没有异常,不执行catch语句

处理多个异常

使用多个try...catch语句

使用一个try和多个catch语句

多个catch的顺序

多个

平级没有顺序

有子父类,父类必须在后面

//第二种方式

抛出

在不想处理或没有能力处理异常时,可以选择抛出

关键字:throws,在方法的声明处使用

定义格式:

方法名(参数列表) throws 异常类型1,异常类型2........{

}

JVM处理异常:

异常我们不处理,JVM会把异常的种类,原因还有把位置显示在命令行,并且终止程序,异常后的代码不再执行

try...catch操作捕获的异常

String getMessage();

返回异常原因

String toString();

返回异常类型

void printStackTrace();

输出异常原因和类型,还有位置

异常分类

1.运行时期异常:RuntimeExceptipon的子类就是运行时期异常,可以自行处理或者不处理

2.编译时期异常:

非RuntimeException ,编译时期的一样必须处理

两种异常处理方式

throws:处理异常的一种方式将异常抛出,由调用者处理

throw:制造异常的方式,并且结束方法

注意

抛出(throws)

递归:大事化小,小事化了

注意:

1.递归一定要有出口

2.递归次数不宜过多

就业第九天

IO流

绝对路径:固定不可变的路径,以盘符开头

相对路径:相对于某个参照物,不以盘符开头

FIle类

常用功能:

创建功能

boolean createNewFile():

创建新文件,返回是否创建成功

文件不存在的时候返回true并创建文件,存在的时候返回false

boolean mkdir():

创建目录,返回是否成功

文件夹不存在的时候返回true并创建,存在的时候返回false

boolean mkdirs();

创建多级目录,包括指定路径中缺少的父级目录,

当多级文件夹不存在时返回true并创建多级文件夹,存在返回false

判断功能

boolean exists():

判断文件或文件夹是否存在,存在true,否则false

boolean isAbsolute():

判断File对象指向的路径是否是绝对路径,是true,否false

boolean isDirectory():

判断File对象指向的是否是目录,是true,否false

boolean isFile():

判断File对象指向的是否是文件,是true,否false

boolean isHidden():

判断File对象指向的路径是否有隐藏属性,是true,否false

获取功能

String[] list():获取当前路径下所有文件和目录的名称,返回成一个字符串数组

File[] listFiles():获取当前路径下所有文件和目录,返回成一个File类的对象数组

static File[] listRoots():返回当前电脑的所有盘符

删除功能

boolean delete():

删除文件或文件夹,返回是否成功

当指定文件或文件夹存在时删除文件,返回true,不存在时返回false

注意:delete()方法删除文件夹,文件夹下面不能有文件和文件夹

IO流分类

流向

输入流 读取数据 FileReader Reader

输出流 写出数据 FileWriter Writer

数据类型

字节流 字节输入流 读取数据 InputStream类

字节输出流 写出数据 OutputStream类

字符流 字符输入流 读取数据 Reader类

字符输出流 写出数据 Writer类

递归中

就业第十天

转换流

OutputStreamWriter:字节输出流转字符输出流

InputStreamReader:字节输入流转字符输入流

打印流

PrintStream:字节打印流

PrintWriter:字符打印流

特点:

1.自动换行

2.输出除了字节以外的任意类型

3.通过构造方法配置,实现自动刷新(调用println、printf或format才有用)

4.包装流,不具备写功能

5.可以把字节流转换流字符输出流

对象操作流:可以用于读写任意类型的对象

ObjectInputStream:对象输入流

readObject

ObjectInputStream(InputStream in)

ObjectOutputStream:对象输出流

writeObject

ObjectOutputStream(OutputStream out)

注意:使用对象输出流写出对象,只能用对象输入流写入

解决对于实现序列化接口黄色警告的问题

集合

Properties :表示一个持久的属性集,属性列表中每个键及对应值都是一个字符串

构造方法:

Properties

和IO流结合

1.void list(PrintWriter out)

2.void load(Reader reader)

3.void store(writer

属性 配置 Map();

乱码

编码表

ASCII:美国标准码

GB2312 ---GBK 国标和国标扩展码

Unicode:万国码

UTF-8:Unicode的一种实现方式,长度可变的码表,一个字符栈1or2or3个字节

ANSI:本地编码表,根据系统决定编码

原因

字符串编码的转换

标准输入输出流

public static final InputStream in;字节输入流,用来读取键盘录入的数据

public static final OutputStream out;字节输出流,将数据输出到控制台

本文版权归传智播客JavaEE学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客JavaEE培训学院

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额