(1)StringBuilder类和StringBuffer类 (2)日期相关的类 (3)集合框架 (4)List集合

时间:2022-06-30 15:19:24

1.StringBuilder类和StringBuffer类(查手册会用即可)
1.1 基本概念
由于String类描述的字符串内容无法更改,若程序中出现大量类似的字符串时需要申请独立的内存空间单独保存,此时对内存空间的消耗比较大。
为了节省内存空间希望对字符串内容本身直接进行更改,则需要使用java.lang.StringBuilder类或者java.lang.StringBuffer类。
其中StringBuffer类是从jdk1.0开始存在,是一个线程安全的可变字符序列,效率比较低
其中StringBuilder类是jdk1.5开始存在,是一个非线程安全的可变字符序列,效率比较高

1.2 常用的方法
StringBuilder(String str) - 根据参数指定的字符串内容来构造对象。
- 默认初始容量为:16 + 参数字符串的长度。
int capacity() - 用于获取调用对象的容量并返回。
int length() - 用于获取调用对象的长度/字符的个数。

StringBuilder insert(int offset, String str)
- 用于将参数指定的字符串内容插入到调用对象中下标为offset的位置上并返回。
- 返回调用对象的引用,也就是调用对象自己。
StringBuilder append(String str)
- 用于将参数指定的字符串内容追加到调用对象的末尾。
StringBuilder delete(int start, int end)
- 用于从当前字符串中将start(含)开始到end(不含)结尾的内容移除
StringBuilder replace(int start, int end, String str)
- 用于从当前字符串中将start开始到end结尾之间的内容使用str的内容替换掉
StringBuilder reverse()
- 用于实现字符串内容的反转。

2.日期相关的类(查手册会用即可)
2.1 Date类
(1)基本概念
java.util.Date类用于描述特征的瞬间,可以精确到毫秒。
(2)常用的方法
Date() - 无参构造方法,主要用于描述当前系统时间。
Date(long date) - 根据参数指定的毫秒数来构造对象。
- 其中参数为距离1970年1月1日0时0分0秒以来的毫秒数。
- 与File类的成员方法通常搭配使用。
long getTime()
- 用于获取调用对象距离1970年1月1日0时0分0秒的毫秒数。
void setTime(long time)
- 用于设置调用对象为距离1970年1月1日0时0分0秒的time毫秒。

2.2 SimpleDateFormat类
(1)基本概念
java.text.SimpleDateFormat类用于实现日期和文本类型之间的转换。

(2)常用的方法
SimpleDateFormat(String pattern) - 根据参数指定的格式字符串来构造对象。
- 字符串格式:y代表年 M代表月 d代表日 H代表时 m代表分 s代表秒
public final String format(Date date)
- 用于将参数指定的日期对象按照调用对象指定的格式转换为字符串。
public Date parse(String source) throws ParseException
- 用于将参数指定的字符串按照调用对象指定的格式转换为日期对象。

2.3 Calendar类
(1)基本概念
java.util.Calendar类用于描述年月日时分秒信息,取代了Date类中的很多过时方法。

(2)常用的方法
static Calendar getInstance() - 用于获取Calendar类型的引用并返回。
void set(int year, int month, int date, int hourOfDay, int minute, int second)
- 用于设置年月日时分秒信息,月份-1作为实参。
Date getTime() - 用于将Calendar类型的对象转换为Date类型的对象并返回。

3.集合类(重点)
复习:
当需要在程序中记录单个数据内容时,则声明一个变量即可;
当需要在程序中记录多个类型相同的数据内容时,则声明一个数组即可;
当需要在程序中记录多个类型不同的数据内容时,则声明一个类即可;
当需要在程序中记录多个类型相同的对象时,则声明一个对象数组即可;
当需要在程序中记录多个类型不同的对象时,则声明一个集合处理即可;

3.1 数组和集合的比较(笔试题)
(1)数组的特点
数组本质上就是一段连续的存储单元,用于记录多个类型相同的数据内容;
数组一旦声明完毕,则长度固定无法更改;
数组增删元素不方便,可能会造成大量元素的移动;
数组支持下标访问,可以实现随机访问;
数组元素可以是基本数据类型,也可以是引用数据类型;

(2)集合的特点
集合的存储单元可以连续也可以不连续,元素类型可以相同也可以不相同;
集合一旦声明完毕,则长度可以随时动态调整;
集合增删元素可以不移动大量的元素;
集合部分支持下标访问部分不支持;
集合中的元素必须都是引用数据类型,因此可能借助包装类;

3.2 集合框架
在Java语言中集合框架的顶层接口是:java.util.Collection 和 java.util.Map。
其中Collection集合中操作元素的基本单位是:单个元素。
其中Map集合中操作元素的基本单位是:单对元素。

在以后的开发中很少直接使用Collection集合,而是更多的使用该集合的子集合:List集合、Queue集合以及Set集合。

3.3 Collection集合的常用方法(练熟、记住)
boolean add(E e) - 用于将参数指定的元素e放入当前集合中。
- 若放入成功则返回true,否则返回false。
boolean addAll(Collection<? extends E> c)
- 用于将参数指定集合c中的所有元素一个个放入当前集合中。
- 当前集合中的元素发生改变则返回true,否则返回false。

boolean contains(Object o)
- 用于判断当前集合中是否包含参数指定的单个元素。
boolean containsAll(Collection<?> c)
- 用于判断当前集合中是否包含参数指定的所有元素。

boolean remove(Object o)
- 用于从当前集合中删除参数指定的单个元素。
boolean removeAll(Collection<?> c)
- 用于从当前集合中删除参数指定集合中的所有元素。
void clear()
- 用于清空当前集合中的所有元素。

boolean retainAll(Collection<?> c)
- 用于计算当前集合和参数集合的交集并保留到当前集合中,覆盖当前集合原来内容
- 若当前集合中的元素发生改变则返回true,否则返回false。
int size() - 用于返回集合中元素的个数。
boolean isEmpty() - 用于判断当前集合是否为空。