J2SE综合:对java.util的总结 一

2007-04-05     浏览:1537781     来源:华夏学习网
关键词:  Java     java     Jav     java.util  

  java.util包中包含了一些在 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章讨论。下面将对剩下的类和接口做详细的讨论。
  
  15.1 类集概述
  
  Java的类集(Collection)框架使你的程序处理对象组的方法标准化。在Java 2出现之前,Java提供了一些专门的类如Dictionary,Vector,Stack和Properties去存储和操作对象组。尽管这些类非常有用,它们却缺少一个集中,统一的主题。因此例如说使用Vector的方法就会与使用Properties的方法不同。以前的专门的方法也没有被设计成易于扩展和能适应新的环境的形式。而类集解决了这些(以及其他的一些)问题。
  
  类集框架被设计用于适应几个目的。
  
  首先,这种框架是高性能的。对基本类集(动态数组,链接表,树和散列表)的实现是高效率的。一般很少需要人工去对这些“数据引擎”编写代码(如果有的话)。第二点,框架必须允许不同类型的类集以相同的方式和高度互操作方式工作。第三点,类集必须是容易扩展和/或修改的。为了实现这一目标,类集框架被设计成包含一组标准的接口。对这些接口,提供了几个标准的实现工具(例如LinkedList,HashSet和TreeSet),通常就是这样使用的。如果你愿意的话,也可以实现你自己的类集。
  
  为了方便起见,创建用于各种特殊目的的实现工具。一部分工具可以使你自己的类集实现更加容易。最后,增加了允许将标准数组融合到类集框架中的机制。
  
  算法(Algorithms)是类集机制的另一个重要部分。算法操作类集,它在Collections类中被定义为静态方法。因此它们可以被所有的类集所利用。每一个类集类不必实现它自己的方案,算法提供了一个处理类集的标准方法。