Object:根类
toString,equals,hashCode
包裹类:8个,Integer,Character
xxx parseXxx(),自动装箱(new Xxx())和自动拆箱(intValue())
字符串类:
String:final类,不可改变的Unicode,返回新的字符串对象
StringBuffer,StringBuilder:final类,可改变的Unicode,返回原缓冲区的字符串对象
数学类:
Math:静态
常量和方法
集合:
存储不同类型的对象,长度可变
数组:存储相同类型的数据,长度固定
Collection:存储无序和可重复元素
---List:元素重复,有序
---ArrayList
---LinkedList
---Set:不允许元素重复,无序
---HashSet
---SortedSet
---TreeSet
泛型:jdk1.5,可以认为是一种安全机制,
表示方式:<元素类型> 一旦使用了泛型,那么相当于给集合增加了约束,
集合只能存储泛型所指定的元素类型
泛型的类型参数不支持多态
?:通配符,可以代表任意类型
? extends E : 接收的是E类型及其E的子类型 ----上限
? super E: 接收的是E类型及其E的父类型 ----下限
HashSet:底层数据结构为:哈希算法。
每个要存储的对象都会先计算哈希码值(hashCode方法),如果哈希值不同则存入到集合中,
如果哈希值相同,会通过equals方法进行第二次校验,比较是否是相同对象
TreeSet:底层数据结构为:二叉树,将将元素按照自然顺序排序
存储自定义对象时,必须实现Comparable接口,并实现该接口的compareTo方法
根据该方法的返回值进行自然顺序排序,
返回值为正整数,负整数,0,如果是0意味着是相同元素。
ArrayList:底层数据结构为:数组
元素连续,查找和修改快,删除和添加慢
LinkedList:地城数据结构为:双向链表
元素可以不连续,查找和修改慢,添加和删除快
迭代器:
---将集合中元素检索出来,---称之为迭代
Iterator iterator()
ListIterator listIterator()