1、util包有什么功能
java.util包提供了java中的基础工具类。包括基本的集合框架等基础类以及通用的工具类。主要类如下图:
?
大体将java.util包分为两类:集合、工具,下面分别介绍其中比较常用的类:
集合
- 位集合
BitSet,只存储0、1的集合。
- 数据集合
Collection,常用集合容器,包括列表List、数据集Set、队列Queue。
Map,键值对容器。
Dictionary,字典容器,和Map非常类似。
Java提供的若干数据集合容器是我们在开发过程中经常使用的,不同容器具有自己的特性,应用于不同的场景。了解集合容器看这里:[什么是集合容器][2]
[2]:
- 迭代器
Iterator,迭代器,使用迭代器可以对对象进行遍历。
工具
- 字符集
Base64,提供对Base64的编码解码工具。
- 日期时间
Date,提供对日期、时间的操作和处理,以及获取当前系统的时间。
Calendar,比Date更加强大的日期处理工具,可以实现国际化,官方建议使用的日期工具。
TimeZone,描述时区,为Calendar提供国际化基础。
- 货币
Currency,描述各国的货币。
- 比较器
Comparator,可以通过实现Comparator接口,对集合对象或数组对象进行自定义排序。
- 数据统计
IntSummaryStatistics、LongSummaryStatistics、DoubleSummaryStatistics,Java 8中新特性,主要用于统计数值型数组中元素的常见统计值,例如:最大值,最小值,平均值,总和等。常与Stream一起使用。
- 监听
EventListener,事件监听器,想使用事件监听需要实现它。
EventObject,事件对象,包含事件对应的数据,需要自定义类继承它。
- 观察者模式
Observable,被观察对象接口,需要被观察的对象实现该接口。
Observer,观察者需要实现的接口,当Observable对象发生变化时,Observer得到通知,就可以进行相应的工作。
- 本地化
Locale,描述了特定的地理、政治和文化地区,通过它来实现Java国际化。
- 对象工具
Objects,为Java对象提供常用工具方法,例如是否相等、比较大小等。
Optional,可以承载为null的容器对象,通过返回该对象可以避免null值带来的问题。
- 随机数
Random,用来产生随机数,原理是通过种子数来生成伪随机数。
UUID,可以生成128位长、且不重复的数字。它结合机器的网卡、当地时间、随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。
- 文本
Scanner,主要功能是简化文本扫描,其他功能例如检索文本、对字符串和基本类型进行分析。
- 调度
Timer,定时器工具,在主线程之外启动一个单独的线程,来执行指定的计划任务,可以指定执行一次或者反复执行多次。
TimerTask,一个可以被Timer执行的任务,实现了Runnable接口。