java.util包中包含了一些在Java 2中新增加的最令人兴奋的增强功能:类集。一个类集(collection)是一组对象。类集的增加使得许多java.util中的成员在结构和体系结构上发生根本的改变。它也扩展了包可以被应用的任务范围。类集是被所有Java程序员紧密关注的最新型的技术。
除了类集,java.util还包含了支持范围广泛的函数的各种各样的类和接口。这些类和接口被核心的Java包广泛使用,同时当然也可以被你编写的程序所使用。对它们的应用包括产生伪随机数,对日期和时间的操作,观测事件,对位集的操作以及标记字符串。由于java.util具有许多特性,因此它是Java中最被广泛使用的一个包。
java.util中包含的类如下。在Java 2中新增加的一些也被列出:
AbstractCollection (Java 2) EventObject Random
AbstractList (Java 2) GregorianCalendar ResourceBundle
AbstractMap (Java 2) HashMap (Java 2) SimpleTimeZone
AbstractSequentialList (Java 2) HashSet (Java 2) Stack
AbstractSet (Java 2) Hashtable StringTokenizer
ArrayList (Java 2) LinkedList (Java 2) Timer (Java 2, v1.3)
Arrays (Java 2) ListResourceBundle TimerTask (Java 2, v1.3)
BitSet Locale TimeZone
Calendar Observable TreeMap (Java 2)
Collections (Java 2) Properties TreeSet (Java 2)
Date PropertyPermission (Java 2) Vector
Dictionary PropertyResourceBundle WeakHashMap (Java 2)
java.util定义了如下的接口。注意其中大多数是在Java 2中新增加的。
Collection (Java 2) List (Java 2) Observer
Comparator (Java 2) ListIterator (Java 2) Set (Java 2)
Enumeration Map (Java 2) SortedMap (Java 2)
EventListener Map.Entry (Java 2) SortedSet (Java 2)
Iterator (Java 2)
ResourceBundle类,ListResourceBundle类和PropertyResourceBundle类帮助具有特定地区资源的大型程序国际化。关于这些类的讨论,在这里从略。授权对系统属性进行读/写的PropertyPermission类也超过了本书的讨论范围。EventObject和EventListener类将在第20章讨论。下面将对剩下的类和接口做详细的讨论。由于java.util包非常大,关于它的讨论将分成两章进行。本章讨论那些与对象的类集有关的成员。在第16章讨论其他的类和接口。
15.1 类 集 概 述
Java的类集(Collection)框架使你的程序处理对象组的方法标准化。在Java 2出现之前,Java提供了一些专门的类如Dictionary,Vector,Stack和Properties去存储和操作对象组。尽管这些类非常有用,它们却缺少一个集中,统一的主题。因此例如说使用Vector的方法就会与使用Properties的方法不同。以前的专门的方法也没有被设计成易于扩展和能适应新的环境的形式。而类集解决了这些(以及其他的一些)问题。类集框架被设计用于适应几个目的。首先,这种框架是高性能的。对基本类集(动态数组,链接表,树和散列表)的实现是高效率的。一般很少需要人工去对这些“数据引擎”编写代码(如果有的话)。第二点,框架必须允许不同类型的类集以相同的方式和高度互操作方式工作。第三点,类集必须是容易扩展和/或修改的。为了实现这一目标,类集框架被设计成包含一组标准的接口。对这些接口,提供了几个标准的实现工具(例如LinkedList,HashSet和TreeSet),通常就是这样使用的。如果你愿意的话,也可以实现你自己的类集。
分享到:
相关推荐
以上仅是Java工具类的一小部分,实际上,还有很多其他工具类,如`java.util.regex`(正则表达式)、`java.net.URL`(网络URL处理)等,它们都是Java开发中不可或缺的部分。熟练掌握并运用这些工具类,可以极大地提高...
Java.util.Timer类是Java标准库提供的一种简单但功能有限的定时任务执行机制。它允许开发者在指定的时间间隔或特定时间点执行任务,非常适合处理一次性或周期性的后台操作。本篇文章将深入探讨如何使用Timer和...
- `java.util.*`:如ArrayList、LinkedList、HashSet、HashMap等,这些都是Java集合框架的核心类,用于存储和操作对象。 - `java.util.stream`:Java 8引入的流API,支持函数式编程,可以方便地进行数据过滤、映射...
Java.util包是Java编程语言中的核心包之一,它包含了大量用于日常编程的类和接口,是Java程序员必备的知识点。本教程重点讲解了Java.util包中的主要组件和使用方法,旨在帮助初学者深入理解并熟练运用这个包。 1. *...
文档标题“java.util.concurrent同步器框架”和描述“Doug Lea的java.util.concurrent同步器框架”表明本文将探讨由Doug Lea所撰写的关于Java并发编程中同步器框架的内容。文档中提到了AbstractQueuedSynchronizer类...
1. `java`包:这是Java的核心包,包括基本数据类型(如`java.lang`)、输入输出(`java.io`)、集合框架(`java.util`)以及线程管理(`java.lang.Thread`)等。 2. `javax`包:提供了额外的API,如JavaBeans(`...
在Java编程语言中,`java.util.ServiceLoader` 是一个实用工具类,用于加载符合特定接口或抽象类的服务提供者。这个工具在Java平台标准版(Java SE)中被广泛使用,尤其是在实现模块化和插件化系统时。下面将详细...
首先,`java-util`并非Java标准库中的部分,而是由第三方开发者或者社区提供的扩展库。它通常包含了一些Java标准库中没有或者功能更加强大的工具类,用于提高开发效率,解决特定问题。1.3.1版本代表了这个库的一个...
在Java编程领域,`java.util.concurrent`包是并发编程的核心工具包,提供了高效、线程安全的类和接口,使得开发者能够更容易地处理多线程环境。本篇将深入探讨这个包中一些鲜为人知的知识点,以帮助你提升并发编程的...
综上所述,ASM-Util是一个基于ASM框架的实用工具集,可能包含了对Java字节码进行解析、生成或修改的工具。这个压缩包提供了一个ASM-Util的JAR实现,并且可能需要ASM库的特定版本作为其运行时依赖。用户在使用asm-...
java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。 java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 ...
解释:在 Spring 框架中,可以使用 FileSystemXmlApplicationContext 类从文件系统或类路径中加载配置文件,以便创建 ApplicationContext 对象。 本题库涵盖了 Spring 框架的核心概念和应用场景,旨在评估开发人员...
2. SLF4J(Simple Logging Facade for Java):一个用于日志的抽象层,允许开发者在部署时插入所需的日志框架。SLF4J不提供具体的日志实现,而是通过绑定不同的日志实现(如Log4j、Logback)来满足不同需求。 3. ...
1. **多线程**:讲解了Java中的并发编程,包括线程的创建、同步机制(如synchronized关键字和java.util.concurrent包)、死锁与活锁的概念,以及如何处理线程安全问题。 2. **网络编程**:介绍了Java的网络API,...
- `java.util.Calendar`:一个抽象类,提供了一种日历字段(如年、月、日)的完整框架。通过`Calendar.getInstance()`获取一个Calendar实例,然后可以设置和获取日期字段。 - `java.time.LocalDate`(Java 8及以上...
**Java™平台标准版(Java SE)7 API**是Java编程语言的核心组成部分,它提供了丰富的类库和接口,使得开发者可以构建高效、可移植且功能强大的应用程序。这个API规范详细阐述了版本7中的各种组件、类和接口,是Java...
1. **实例化**:当Servlet第一次被请求时,容器会创建Servlet实例。 2. **初始化**:容器调用Servlet的 `init()` 方法进行初始化。 3. **服务**:每当有一个请求到达时,容器调用Servlet的 `service()` 方法来处理...
在Java中,创建一个定时提醒任务通常涉及到使用`java.util.Timer`类或`java.time`包中的定时器功能。让我们深入探讨这个主题。 Java中的定时任务通常用于执行周期性的操作,比如定时发送通知、执行数据备份或在特定...
Java的`java.util.HashMap`类是哈希表的典型代表,提供O(1)的平均查找和插入时间复杂度。 6. 树:二叉树是一种重要的树形数据结构,包括二叉搜索树(BST)、AVL树、红黑树等。Java的`java.util.TreeSet`和`java....
3. **java.util**:包括集合框架(ArrayList、LinkedList、HashSet、HashMap等)、日期时间类、泛型、枚举、队列和堆栈等。 4. **java.nio**:非阻塞I/O,提供更高效的文件读写和网络通信能力。 5. **java.net**:...