Map
作用
存储数据
键值对应的方式存储
对比数组,集合,Map的区别
共同点:
存储多个数据
不同点:
1,数组可以存放基本数据类与引用数据类型,集合与Map都只能存储引用数据类型
2,数组有长度限制,集合与Map没有长度限制
3,集合存储数据是单个元素存储,Map存储数据使用的键值对应的方式存储
特点
1、键值对应的存储
2、键不允许重复
Map体系
Map
——HashMap
——HashTable
——TreeMap
——Properties
Map提供的方法
增
put(key,value);
putAll(map);
删
remove(key);
clean();
改
replace(key,新value);
put(key,value);当value存在时为修改,不存在时为添加
查
get(key)
size()
isEmpty()
keySet()
values()
Map的常用子类
HashMap
特点:jdk1.2出现,速率快,线程不安全,允许null作为key或value
HashTable
特点:jak1.0出现,效率慢,线程安全,不允许null作为key或value
TreeMap
特点:
要么key的数据类型拥有比较性
要么TreeMap指定比较器
Properties(配置文件)
特点:因为该类使用的情况经常是配合配置文件出现的,所以说key与value都是String类型.但是如果单独使用该类key与value可以是别的类型.不允许key重复,但是如果key的数据类型不一致,可使用不同类型,相同的值,如int类型的1与String类型的"1"
异常
简介
代码中存在的问题
异常的分类
Error:错误
原因:由硬件引起的,无法使用代码进行修改
处理方式:不管
Exception:异常
原因:因为代码语法出错.或用户操作软件时,因为代码不够严谨导致的问题
处理方式:修改
子类
CheckedException:检查时异常
原因:因语法问题导致的
RuntimeException:运行时异常
原因:代码语法不够严谨导致的
异常产生的后果
程序非正常关闭,异常产生处之后的代码不会执行
因为JVM虚拟器运行我们的程序,当程序出现问题后,JVM为了保护虚拟机系统,所以关闭了我们的程序,所以导致程序闪退
语法
try catch语法:
try{
有可能出现问题的代码
}catch(异常分类1 e){
处理方式
}catch(异常分类2 e){
处理方式
}
......
catch(异常分类n e){
处理方式
}finally{
必须要执行的代码
}
注意:catch中异常从小到大
使用:代码中使用
throws语法:
使用位置:定义方法时使用
语法:
访问权限修饰符 返回值类型 方法名(形参列表) throws 异常类型1,异常类型2.....{
方法体
return 返回值;
}
使用:定义方法时;
注意:不要把异常抛给JVM
不建议使用
throw语法:
使用位置:方法中
语法:
throw 异常对象;
异常的传递
在方法中调用有抛出异常的方法,需要解决异常或继续向上抛出
自定义异常
1、创建一个类
2、继承Exception或其子类
3、重写无参构造与有参构造
有参构造中需要传入一个String类型的参数
注意:可以使用throw抛出异常
Collections工具类
static void sort(List list):排序
static <T> int binarySearch(List list, T key):使用二分查找法查找数据所在下标
static <T> void copy(List 拷贝到的集合, List 要拷贝的集合):拷贝list
注意:新集合长度要大于等于原集合
static void reverse(List list):翻转
static void shuffle(List list):打乱