- Object 类
- 直接打印对象的名字就是调用对象的
toString()
方法,toString
默认打印的是地址值 equals
里面源码this == obj
;自己重写,getClass() != o.getClass()
- Objects 类的
equals
对两个对象进行比较,防止空指针异常
- 直接打印对象的名字就是调用对象的
- Date 类
- 精确到毫秒,一个瞬间
- 时间原点:1970-1-1 00:00:00 (中国在东八区,加8个小时)
- 日期转毫秒之后的为
long
类型 Date
带参构造是把毫秒值转化为Date
日期
- DataFormat是抽象类,
format
格式化,parse
解析- 实现子类SimpleDateFormat
- Calendar是抽象类,日历
- 实现子类GregorianCalendar,可以通过
Calendar.getInstance()
来获取 - get,set,add
- 实现子类GregorianCalendar,可以通过
- System 提供大量静态方法
- StringBuilder,底层也是数组(初始容量为16),没被
final
修饰append
方法返回的是本身
- 包装类
- 装箱:int -> Integer; 构造方法 or
valueof
- 拆箱:Integer -> int;
intvalue
- 自动拆箱和装箱
- toString方法有参数
- 装箱:int -> Integer; 构造方法 or
- 集合 Collection 单列
- 长度可以变化,只能存储对象
- List 接口:存取元素顺序相同,有序;允许重复元素;有索引,可for遍历
- Vector集合
- ArrayList集合
- LinkedList集合
- Set 接口:不重复元素;没索引,不能普通for遍历;
- TreeSet集合:无序
- HashSet集合:无须
- LinkedHashSet集合:有序
- 迭代器Iterator:迭代访问Collection中的元素,在取元素之前判断集合有没有元素,
hasNext and next
- 是一个接口
- 通过Collection.iterator()来获取迭代器实现类
- 开始时指针指向
-1
索引 - 增强for循环,底层迭代器
- Map类 双列集合
Map<K, V>
- key 不能重复,value可以重复
- HashMap:基于Hash表;不保证映射顺序,允许null值和null键;数组+链表/红黑树;线程不安全
- LinkedHashMap:Hash表和链表(记录元素顺序);可预知的迭代顺序,存取顺序一致
- put方法:key不重复返回null,key重复时替换新的value,返回旧的value;
- remove:删除指定键的键值对,返回被删除的值;不存在返回null
- Map遍历
- 键找值的方式:keySet()得到包含键的视图,
for key : map.keySet()
- Map接口的内部接口Entry,键值对 对象
- 通过entrySet():entrySet把集合内的多个entry对象取出来存储在一个Set里面,遍历Set再通过getKey和getValue
- 键找值的方式:keySet()得到包含键的视图,
- 存储自定义类型键值对,需要重写hashcode和equals
- Hashtable:基于Hash表;不能null;线程安全;和Vector一样在jdk1.2被取代
of
静态方法:往集合里面添加多个元素;只适用于List,Set,Map接口,不适用于实现类;返回的是不可变的集合;Set和Map接口使用时不能有重复元素
Java 基础3
最新推荐文章于 2022-10-11 00:23:07 发布