……

用途:工具包,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<E> =>集合通过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<E>  
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<K> 再用for增强循环
replace 替换 k,V V XXXXXXX
containsKey 是否包含键   bool  
containsValue 是否包含值   bool  

(1)Map接口--》HashMap实现类,不安全,效率高,可以有null键,父类是AbstractMap。

①都是非静态方法,方法和其Map差不多。

⑵Map接口--》HashTable实现类,安全,效率不高,不能有null键,父类是Dictionary。新增的非静态方法就是tostring()HashTable转为字符串。

 posted on 2020-05-12 23:50  大码王  阅读(287)  评论(0编辑  收藏  举报
复制代码