用途:工具包,collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等),集合类、时间处理模式、日期时间工具等各类常用工具包
1.Arrays类:用于数组
①静态方法
方法名释义形参返回值类型运用
asList
数组转为List集合
数组
List集合
数组转为List集合
binarySearch
数组中指定元素二分查找位置
数组,值
int
有序,数组值查找
copyOf
数组空间扩容
数组,长度
基数据数组
动态数组
copyOfRange
指定范围拷贝数组
数组,范围
基数据数组
数组拷贝
deepToString
数组转字符串
数组
String
数组转换
toString
数组转为字符串
数组
String
数组转换
equals
判断2个是否相等
2数组
bool
数组?相等
fill
数组填充
数组,值
void
sort 8-9个
数组排序
数组
void
数组排序
sort
数组指定范围排序
数组,范围
void
数组排序
2.Date类:目的反映协调世界时间
①构造方法
构造方法名释义形参使用
Date
无参
②非静态方法
方法名释义形参返回值类型运用
getTime
获取时间戳
无参
long
setTime
设置时间戳
long
void
after
明天
Date
bool
before
昨天
Date
bool
toString
date转字符串
无参
String
转型
3.Calendar类:抽象类,用于操纵日历字段
注意:通过 Calendar rightNow = Calendar.getInstance()获取对象
①属性名
属性名释义形参返回类型运用
1-12月
月
static int
周一到周日
周
static int
DATE
天
static int
MOUTH
月
static int
YEAR
年
static int
DAY_OF_WEEK
本周第几天
static int
DAY_OF_MOUTH
本月第几天
static int
DAY_OF_YEAR
本年第几天
static int
WEEK_OF_YEAR
本年第几周
static int
WEEK_OF_MOUTH
本月第几周
static int
HOUR_OF_DAY
当前第几时
static int
HOUR
小时
static int
MINUTE
分钟
static int
SECOND
秒
static int
②非静态方法
方法名释义形参返回值类型运用
add
增减日历字段
int和int
void
get
获取日历字段
无参
int
getCalendarType
获取日历类型
无参
String
getInstance
获取日历对象
无参
Calender
getTime
获取Date
无参
Date
getTimeZone
获取时区
无参
TimeZone
set
设置时间
年月日时分秒
void
toString
Calendar转为字符串
无参
String
转型
4,集合。。。。重中之重,运用存储不同数据类型,解决数据只能存同种类型的问题。
①Collection接口抽象方法===》无构造方法,只能通过实现子类向上转型获取对象,单值,而Map是双值的。
方法名释义形参返回值类型运用
add
增一个元素
E e
bool
addAll
增多个元素
集合型及子类型
bool
remove
删一个元素
E e
bool
removeALL
删多个元素
集合型及子类型
bool
removeIf
按条件删除元素
Predicate super E> filter
bool
匿名内部类和Lamada
size
元素个数
无参
int
增删改查
toArray
集合转数组
无参
Object[]
用数组遍历
isEmpty
是否为空
无参
bool
equals
相等
Object
bool
去重
contains
包含一个元素
Object
bool
containsAll
包含多个元素
集合
bool
retainAll
两集合交集
集合
bool
clear
清空
无参
void
注意知识点:迭代器Iterator=>集合通过iterator()获取迭代器对象,单向输出,用于单链表。
非静态方法
方法名释义形参返回值类型运用
hasNext
是否存在下一个
无参
bool
循环遍历
next
循环获取对应元素
无参
E泛型
循环遍历
注意:迭代器中不能有集合的操作
②Collection接口--》子接口List
总结:List接口是有索引的,所以遍历有四种方式:1.for传统循环。2.f集合转为数组循环。3.for增强循环。4.迭代器遍历循环。。。。记住前两种仅仅用于有索引的集合。
实现类:ArraryList,LinkedList,Vector,Stack等等
相比Collection父接口新增的非静态方法:
方法名释义形参返回值类型运用
add
指定位置添加一个元素
int和E二形参
void
addAll
指定位置添加多个元素
int和E二形参
void
remove
指定位置删除一个元素
int和E二形参
void
removeAll
指定位置删除多个元素
int和E二形参
void
set
指定位置修改一个元素
int和E二形参
void
get
通过索引查找元素
int
E
indexOf
通过元素查找首次索引
Object
int
lastIndexof
通过元素查找末尾次索引
Object
int
subList
按范围截取
两个int形参
List
sort
排序
Comparator比较器
void
注意:因为Collection接口无get方法,故此List接口有此方法,因此List可以用size()和get(int )两个方法实现List集合遍历输出。
⑴List子接口->ArraryList数组集合,基于数组的,查找修改效率高。
①相比Collection和List新增非静态方法
方法名释义形参返回值类型运用
ensureCapacity
扩容
int
void
数组扩容
removeRange
指定范围删除
2个int
void
trimToSize
清除多余空间
无参
void
⑵LinkedList->Vector
总结:ArrayList和Vector的方法差不多,在这里不用多记,都是可重复的。
⑶List子接口->LinkedList,基于链表,增删效率高。
①相对于Collection和List新增非静态方法
方法名释义形参返回值类型运用
addFirst
添加头部元素
E
void
addLast
添加尾部元素
E
void
removeFirst
删除头部元素
E
void
removeLast
删除尾部元素
E
void
getFirst
查询首元素
无参
E
getLast
查询尾元素
无参
E
descendingIterator()
反序迭代器
无参
Iterator
peek()
检索不删除
无参
E
poll()
检索删除
无参
E
descendingIterator迭代器:
(4)LinkedList->Stack
③Collection接口--》子接口Set不允许重复,排重功能(HashCode和equals)
⑴子接口Set--》HashSet类。总结,Set,HashSet和Collection的方法差不多。
①HashSet类—>子类LinkedHashSet,Set,HashSet和Collection的方法差不多
⑵子接口Set--》TreeSet类自带排序的接口是Comparable,最重要的方法是:HashCode-》equals。
①非静态方法
方法名释义形参返回值类型运用
ceiling
>=给定元素
E
E
floor
<=给定元素
E
E
higher
>给定元素
E
E
lower
E
E
⑶子接口--》EnumSet类:运用于枚举。、、待续
④Collection接口--》子接口Queue、、、待续
②Map接口,键值对的,双值的,通过键来遍历
方法名释义形参返回值类型运用
put
获取添加一个元素
K,V
V
putAll
添加多个元素
Map
void
remove
获取删除元素
K
V
remove
删除元素
bool
XXXXXXX
get
按键查询值
K
V
keySet
遍历
无参
Set
再用for增强循环
replace
替换
k,V
V
XXXXXXX
containsKey
是否包含键
bool
containsValue
是否包含值
bool
(1)Map接口--》HashMap实现类,不安全,效率高,可以有null键,父类是AbstractMap。
①都是非静态方法,方法和其Map差不多。
⑵Map接口--》HashTable实现类,安全,效率不高,不能有null键,父类是Dictionary。新增的非静态方法就是tostring()HashTable转为字符串。