高级属性
3个主要因素:index(或key),object(或value),sublist
集合类主要处理方法:添加,删除,检索,遍历,属性访问和判定
根本区别:
- (列表)List - ArrayList:以可变数组结构存储数据;LinkedList:以链表结构存储数据;
- (键值对)Map - HashMap:无序的键值对存储;TreeMap:有某种固定顺序的键值对
- (集合)Set - HashSet:hashcode决定存储位置,故无序;TreeSet:增加了排序;
为何需要重写?
为什么要重写equals?当然是判断两个元素是否相等了,这个时候就要重写equals了,别忘了重写hashcode
compareTo是用来比较的,大部分都是用来排序的,所以当你有这种需求的时候就去重写compareTo吧。
java中的线程安全体现在2个方面:
1.共享的数据有序访问,不会产生异常;(read,modify和delete等)
2.不共享的数据,保证不会被别的线程访问
异常
java为了处理一些意想不到的错误,引入异常处理机制处理一些可能发生的错误。
Throwable是所有异常类的超类,有两个直接子类Error和Exception。