高级属性

高级属性

高级属性

高级属性

3个主要因素:index(或key),object(或value),sublist
集合类主要处理方法:添加,删除,检索,遍历,属性访问和判定

根本区别:

  • (列表)List - ArrayList:以可变数组结构存储数据;LinkedList:以链表结构存储数据;
  • (键值对)Map - HashMap:无序的键值对存储;TreeMap:有某种固定顺序的键值对
  • (集合)Set - HashSet:hashcode决定存储位置,故无序;TreeSet:增加了排序;
Map中的key值和set中的值都具有唯一性(唯一性表示不能有一样的值或对象),所以可以变相的理解为HashSet是通过取HaspMap的key实现的,TreeSet是通过取TreeMap的key实现的,通过全部取Map的key值的方式,保证set中值的唯一性,也因此造成两种Set的形式。故此HashSet中的值存放如HashMap的key值一样也是无序的,TreeSet中的值存放如TreeMap的key值一样也是有序的
为何需要重写?
为什么要重写equals?当然是判断两个元素是否相等了,这个时候就要重写equals了,别忘了重写hashcode
compareTo是用来比较的,大部分都是用来排序的,所以当你有这种需求的时候就去重写compareTo吧。

java中的线程安全体现在2个方面:
1.共享的数据有序访问,不会产生异常;(read,modify和delete等)
2.不共享的数据,保证不会被别的线程访问

异常

java为了处理一些意想不到的错误,引入异常处理机制处理一些可能发生的错误。

Throwable是所有异常类的超类,有两个直接子类Error和Exception。