Map
概念:
存储一组数据类型相同的数据,长度可变
数据存储的方式:
键值对的方式存储数据
体系:
Map(接口):
HashMap(类):
特点:
链表 + 红黑树 (哈希表) 线程不安全的 jdk 1.2
HashTable(类):
特点:
链表 + 红黑树 (哈希表) 线程安全的
Properties(类)
TreeMap(类):
特点:
链表 + 红黑树
注意:
TreeMap 存储数据,要么实现比较性,要么传入比较器
Map的方法:
增加:
put(key , value);
注意:
如果 字典中 key 不存在 ,此方法就是添加, 如果存在,此方法就是修改
删除:
remove(key);
clear();
改:
查:
int size();
isEmpty();
containsKey(Key);
containsValue(value);
get(key);
keySet();
values()
entrySet();
其它:
Entry:
getKey();
getValue();
异常
概念
在程序中出现的突发情况,导致程序崩溃出错
分类:
Throwable:
错误:
错误: Erro
硬件导致的错误,软件开发工程师不需要解决
异常: Exception
1. 编译时异常: CheckedException
语法出现问题,
2. 运行时异常: RuntimeException
编写软件的时候,逻辑思维的问题,
常见异常;
IndexOutOfBoundsException:数组下标越界异常
NullPointerException:空指针异常
ClassCastException:类型转换异常
ArithmeticException:算法异常
异常的处理
1.声明异常
throws 声明异常
语法:
权限修饰符 修饰符 返回值类型 方法名() throws 异常{}
2.抛出异常
throw 抛出异常
语法:
权限修饰符 修饰符 返回值类型 方法名() throws 异常{
throw new 异常类型();
}
注意:
throws 与 throw的区别:
throw 是抛出异常 ,throws 是声明异常
throws 是在方法名的形参列表之后的,throw是在方法体中
3.处理异常
语法:
try{
可能出现问题的代码
}catch(问题类型1 变量名1){
处理方案 对应的
}catch(问题类型2 变量名2){
处理方案 对应的
}
......
finally{
无论什么情况都会执行的代码
}
注意:
1.try 中出现问题后的不会执行
2.catch 中异常类型必须是子类在父类之前
3.finally 中是必须执行的代码
自定义异常:
1,创建一个类使其继承与异常类
2,重写构造函数,调用父类构造函数