一.异常
异常:java代码在运行时发生的问题就是异常。
1.异常对象:
1.创建一个异常对象,封装一些提示信息。
2.这个异常对象传递到调用者处,通过关键字throw就可以完成,throw 异常对象。
2.声名异常:
如果方法内通过throw抛出了编译时异常而没有捕获处理,那么必须通过throw进行声名,让调用者去处理。
throws用于进行异常类的声名。
try{
//需要被检测的语句。
}
cath(异常类,变量){
//异常的处理语句
}
finally{
一定会执行的语句。
}
2.运行时异常
方法中异常抛出运行时期异常,调用者也无需处理异常。
非运行时异常,称为检查异常,必须手动进行异常处理。
getmessage:异常提示信息。
tostring:该异常的名称与详细信息字符串。
printstacktrace:输出该异常的名称与详细信息字符串,异常出现的代码位置。
自定义异常:
class 异常名 extends exception {
public 异常名(){
}
}
二.集合
1.概念:储存对象的容器。集合中可以储存任意类型的对象,而且长度可变。
集合和数组的区别.
数组的长度是固定的,集合的长度是可变的,数组中可以储存基本数据类型,集合只能存储对象,数组中存储数据类型是单一的,集合中可以存储任意类型的对象。
2.集合框架体系
2.1 List
List集合继承自collection接口,list是有序的(插入与输出顺序一致),使用索引访问List中的元素。List允许有重复的。
实现List接口常用LinkedList,ArrayList,Vector和Stack。
ArrayList:数组实现,查找快,增删慢,线程不安全,效率高。
LinkList:链表实现,增删快,查找慢。
LinkedList实现了list接口,LinkedList提供额外的get,remove,add方法。
Vector:和ArrayList原理相同,线程安全,效率低。
2.2 Set接口
Set接口继承自collection接口,Set是一种不能包含又重复元素的集合,Set最多有一个null元素,实现类TreeSet,HashSet。
HashSet:基于哈希表达式,不可重复。元素无序的。
通过equal方法返回的是ture,那么就不会把第二个对象存放在哈希表里,如果是false,就会把这个值存放在哈希表中。
TreeSet:底层书结构。元素不重复,元素有顺序。
2.3 Map接口
Map没有继承collection类,Map可以看作是(key,value)的集合,Map接口通过键值对的方式存储对象。实现类:Hashtable,HashMap,TreeMap.
Map:键值对。
线程是安全的,不可存入null键,null值。
HashMap:底层为哈希表,使用键值对存储。线程不安全,效率较高,可以存入null建,null值。
TreeMap:底层为树结构。可以对存入null建,null值。
HashTable:底层为哈希表,使用键值对存储。线程是安全的,不可存入null键,null值。
2.4 Iteractor 接口
Iterctor 主要用于遍历集合中的元素,Iteractor对象也称为迭代器。
实现了Iterable接口的类就是可迭代的。Collection接口继承了Iterable,所以collection体系都具备去自身迭代器的方法。
Iteractor it = list.iteractor();
while(it.hasNext()){
String next = (String)it.next();
}