1.异常:
finally
自定义异常类型:throw new 自定义异常类型();
Throwable: 类
Error:
VirtualMachineError 虚拟机错误
OutOfMemoryError
StackOverFlowError
Exception:
IOException
RuntimeException
NumberFormatException : "A" _--> 1 "" ===> 1
IllegalArgumentException
throws 方法参数的后面 throw 代码块儿中
2.集合框架体系:
Iterable: 包含了 迭代器 Iterator iterator()
Iterator:
hasNext(); , next() , remove(); 不可以执行复合操作
Collection: 单值
List:
ArrayList: 使用对象数组实现的 Object[] 通过下标来获取元素
add(), remove(int index); remove(Object obj);
set(int index, Object obj); get(int index);
增 , 删 , 改 , 查 操作
indexOf(); 返回这个元素第一次出现的位置
lastIndexOf();
clear(); contains(); isEmpty(); subList(begin,end);
Set:
Map: 双值
key - value 键值对
}
=========================================================
List: 把所有提供的方法 会使用就行
ArrayList:
LinkedList: 重要 双向链表实现的
数据结构: 线性表
数组:通过下标来 存取
链表:没有下标
链表;
单向链表: 向一个方向
双向链表: 双向 方向
循环链表: 头和尾巴可以向连
LinkedList:
构造器:
LinkedList();
常用方法:
add(Element e);
add(int index, Element e );
clear(); 清除
contains(Object o);
get(int index);
indexOf(Object o)
lastIndexOf(Object o)
remove(int index);
remove(Object obj);
set(int index, E element);
size();
toArray();
我们在使用集合存储数据后 ,进行 操作
添加,删除: 使用LinkedList
获取 比较多 使用ArrayList
========================================================
List:
ArrayList: 线程不安全的 , 性能就快
LinkedList:
Vector: 和ArrayList的实现方式 一模一样 都是用 Object数组做的
线程安全的 , 性能慢
线程安全的类 : 有什么特点: 就是方法上多个一个 synchronized 单词
同步锁
java.util.concurrent.* 并发包 1.5
在并发情况下使用: 高并发
已有 一个 "用户" 操作这个集合是 单线程
多线程 多个 "用户" 来同时 获取
Vector的子类:
Stack存储数据原理:
常用方法:
empty(); 判断这个栈是否是空栈
peek(); 弹出;查看 但是 不删除
pop(); 弹出 , 查看, 删除
push(); 压栈
search(Object o); 检索
入栈顺序是: 1 , 2 , 3
出栈的顺序有几种?
A: 1 ,2 ,3
B: 2 ,1, 3
C: 3, 2 ,1
D: 1, 3, 2
E: 3 ,1, 2
F: 2, 3, 1
------------------------------------------------------
队列:
Queue: 接口 单向 链表
Deque: 子接口 双向链表
Queue: 一个方向进 ,另一个方向出
常用方法:
add(E e); 添加
element(); 检索,但不删除,这个队列的头。
如果队列为null 抛出异常 没有这个元素异常
offer(E e); 添加
peek(); 查看 如果多列为null 返回特殊值 null
poll(); 检索删除, 返回特殊值 null
remove(); 检索删除 ----> 抛异常
Deque:入口既 可以进 , 又可以出
双向队列
addFirst();
addLast();
getFirst();
getLast();
offerFirst(E e);
offerLast(E e)
peek();
peekFirst();
peekLast();
poll();
pollFirst();
pollLast()
pop()
push(E e);
线性表:
数组: 动态数组
链表:单链表, 双链表 , 循环链表
栈:
队列: 单向 , 双向
Collection:
List:
|-- ArrayList
|-- LinkedList
|-- Vector
|-- Stack
Queue:
|-- LinkedList
|-- Deque
|--LinkedList
----------------------------------------------------
String:
常用类:
Object:
final , finally , finalize() 区别
== equals();
String: substring , split() , charAt(); toCharArray();
StringBuffer:
StringBuilder:
Date SimpleDateFormat
getTime(); parse(String str); format(Date date);
Integer 包装类 Character
parseInt();
valueOf();
Random
Scanner
Math
----------------------------------------------------
StringBuffer: 字符串的缓冲区 ,线程安全, 性能慢
是final 修饰的类 , 不能被继承;
构造器:
StringBuffer(String str);
StringBuffer(int capacity);
StringBuffer();
常用方法:
append();
charAt(int index);
capacity()
delete(int start, int end)
reverse(); 翻转输出
length();
insert(int offset, String str);
StringBuilder: 字符串缓冲区, 线程不安全 , 性能快