首页 > 代码库 > Java千百问_09基础类库(002)_util包有什么功能

Java千百问_09基础类库(002)_util包有什么功能

点击进入_更多_Java千百问-基础类库

1、util包有什么功能

java.util包提供了java中的基础工具类。包括基本的集合框架等基础类以及通用的工具类。主要类如下图:

技术分享?

大体将java.util包分为两类:集合、工具,下面分别介绍其中比较常用的类:

集合

  1. 位集合
    BitSet,只存储0、1的集合。

  2. 数据集合
    Collection,常用集合容器,包括列表List、数据集Set、队列Queue。
    Map,键值对容器。
    Dictionary,字典容器,和Map非常类似。
    Java提供的若干数据集合容器是我们在开发过程中经常使用的,不同容器具有自己的特性,应用于不同的场景。了解集合容器看这里:[什么是集合容器][2]
    [2]:

  3. 集合工具
    Collections,为集合容器提供常用的工具。
    Arrays,为数组提供常用的工具。

  4. 迭代器
    Iterator,迭代器,使用迭代器可以对对象进行遍历。

工具

  1. 字符集
    Base64,提供对Base64的编码解码工具。

  2. 日期时间
    Date,提供对日期、时间的操作和处理,以及获取当前系统的时间。
    Calendar,比Date更加强大的日期处理工具,可以实现国际化,官方建议使用的日期工具。
    TimeZone,描述时区,为Calendar提供国际化基础。

  3. 货币
    Currency,描述各国的货币。

  4. 比较器
    Comparator,可以通过实现Comparator接口,对集合对象或数组对象进行自定义排序。

  5. 数据统计
    IntSummaryStatistics、LongSummaryStatistics、DoubleSummaryStatistics,Java 8中新特性,主要用于统计数值型数组中元素的常见统计值,例如:最大值,最小值,平均值,总和等。常与Stream一起使用。

  6. 监听
    EventListener,事件监听器,想使用事件监听需要实现它。
    EventObject,事件对象,包含事件对应的数据,需要自定义类继承它。

  7. 观察者模式
    Observable,被观察对象接口,需要被观察的对象实现该接口。
    Observer,观察者需要实现的接口,当Observable对象发生变化时,Observer得到通知,就可以进行相应的工作。

  8. 本地化
    Locale,描述了特定的地理、政治和文化地区,通过它来实现Java国际化。

  9. 对象工具
    Objects,为Java对象提供常用工具方法,例如是否相等、比较大小等。
    Optional,可以承载为null的容器对象,通过返回该对象可以避免null值带来的问题。

  10. 随机数
    Random,用来产生随机数,原理是通过种子数来生成伪随机数。
    UUID,可以生成128位长、且不重复的数字。它结合机器的网卡、当地时间、随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。

  11. 文本
    Scanner,主要功能是简化文本扫描,其他功能例如检索文本、对字符串和基本类型进行分析。

  12. 调度
    Timer,定时器工具,在主线程之外启动一个单独的线程,来执行指定的计划任务,可以指定执行一次或者反复执行多次。
    TimerTask,一个可以被Timer执行的任务,实现了Runnable接口。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    Java千百问_09基础类库(002)_util包有什么功能