异常:
try catch finally throw throws自定义异常:创建一个普通的Java类,让它继承Exception,RuntimeExceptionException分为checked exception和runtime exception,checked exception表示需要强制去处理的异常,即throw异常之后,需要立即处理该异常,要么try-catch,要么抛给上一层去处理,否则会报错"Unhandled exception type MyException"。
runtim exception没有这个要求,throw之后可以不处理。直接继承自Exception的类就是checked exception,继承自RuntimeException的类就是runtime
exception。集合框架
集合框架大致可分为三层,最上层是一组接口,继而是接口的实现类,接下来是针对集合各种操作的实现算法的工具类。接口:
Collection:集合框架中最基本的接口,一个Collection存储一组无序,不唯一(可重复)的对象,一般不直接使用该接口。List:Collection的子接口,存储一组有序,不唯一的对象,最常用的接口之一。Set:Collection的子接口,存储一组无序,唯一(不可重复)的对象。Map:独立于Collection的另外一个接口,存储一组键值对象,key-value的映射,无序,key唯一,value不唯一。Iterator:输出集合元素的接口,一般跟Set结合起来使用,适用于无序集合。ListIterator:Iterator的子接口,可以双向输出集合中的元素。Enumeration:早期的输出接口,已经被Iterator所取代。SortedSet:Set的子接口,可以对集合中的元素进行排序。SortedMap:Map的子接口,可以对集合中的键值对象进行排列。Queue:队列接口,此接口的子类可以实现队列操作。Map.Entry:Map的内部接口,描述Map中的一个键值对象。Collection
常用方法:int size():获取集合长度boolean isEmpty():判断集合是否为空boolean contains(Object o):判断集合中是否存在某个对象Iterator<E> iterator():实例化Iterator接口,遍历集合。Object[] toArray():将集合转换为一个Object类型的对象数组。<T> T[] toArray(T[] a):将集合转换为一个指定数据类型的对象数组。boolean add(E e):向集合中添加一个元素。boolean remove(Object o):从集合中移除元素。booelan containsAll(Collection<> c):判断集合中是否存在另外一个集合的所有元素。boolean addAll(Collection<> c):向集合中添加某个集合的所有元素boolean removeAll(Collection<> c):从集合中移除某个集合的所有元素boolean removeIf(Predicate<> filter):从集合中移除满足给定的集合所有元素boolean retainAll(Collection<> c):对集合进行操作,只保留包含在该集合中的元素void clear():清除集合中的所有元素boolean equals(Collection<> c):比较两个集合是否相等int hashCode():获取集合的哈希值。Spliterator<E> spliterator():将集合转换为一个指定的数据类型的并行迭代器。Stream<E> stream():将集合转换为一个流。Stream<E> parallelStream():将集合转为为一个可并行的流。Collection的子接口
List:存放有序,不唯一的元素。Set:存放无序,唯一的元素。Queue:队列接口。SortedSet:可对集合中的元素进行排序。List是Collection主要的子接口,一个List可以存储一组有序,不唯一的对象。
List接口在继承Collection接口的基础上对方法进行了扩展,常用的扩展方法如下:
E get(int index):通过下标获取集合中指定位置的元素,类似于数组中的array[0],list.get(0);E set(int index,E element):替换集合中指定位置的元素。void add(int index,E element):向指定的位置添加元素。E remove(int index):通过下标删除集合中指定位置的元素。int indexOf(Objec o):查找某个对象在集合中的位置。int lastIndexOf(Object o):从后向前查找某个对象在集合中的位置。ListIterator<E> listIterator():实例化ListIterator接口。List<E> subList(int fromIndex,int toIndex):截取集合中的子集合[1,2,3,4,5,6,7]sub(int fromIndex,int toIndex)sub(3,4):[4]sub(int fromIndex,int length)sub(3,4):[4,5,6,7]