
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
  <!-- Generated by javadoc (version 1.6.0_14) on Thu Apr 12 05:45:03 PDT 2012 -->
  <title>java.util (Java Platform SE 7 )</title>
  <meta name="date" content="2012-04-12">
  <meta name="keywords" content="java.util package">
  <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="java.util (Java Platform SE 7 )";
    }
//-->
</script>
<noscript>
  <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
  <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
  <!--   -->
</a>
  <ul class="navList" title="Navigation">
    <li><a href="../../overview-summary.html">Overview</a></li>
    <li class="navBarCell1Rev">Package</li>
    <li>Class</li>
    <li><a href="package-use.html">Use</a></li>
    <li><a href="package-tree.html">Tree</a></li>
    <li><a href="../../deprecated-list.html">Deprecated</a></li>
    <li><a href="../../index-files/index-1.html">Index</a></li>
    <li><a href="../../help-doc.html">Help</a></li>
  </ul>
  <div class="aboutLanguage"><em><strong>Java&trade;&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;7</strong></em></div>
</div>
<div class="subNav">
  <ul class="navList">
    <li><a href="../../java/text/spi/package-summary.html">Prev Package</a></li>
    <li><a href="../../java/util/concurrent/package-summary.html">Next Package</a></li>
  </ul>
  <ul class="navList">
    <li><a href="../../index.html?java/util/package-summary.html" target="_top">Frames</a></li>
    <li><a href="package-summary.html" target="_top">No Frames</a></li>
  </ul>
  <ul class="navList" id="allclasses_navbar_top">
    <li><a href="../../allclasses-noframe.html">All Classes</a></li>
  </ul>
  <div>
    <script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
    </script>
  </div>
  <a name="skip-navbar_top">
    <!--   -->
  </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
  <h1 title="Package" class="title">Package&nbsp;java.util</h1>
  <div class="docSummary">
    <div class="block">Contains the collections framework, legacy collection classes, event model,
      date and time facilities, internationalization, and miscellaneous utility
      classes (a string tokenizer, a random-number generator, and a bit array).</div>
  </div>
  <p>See:&nbsp;<a href="#package_description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
  <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
    <caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
    <tr>
      <th class="colFirst" scope="col">Interface</th>
      <th class="colLast" scope="col">Description</th>
    </tr>
    <tbody>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Collection.html" title="interface in java.util">Collection</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">The root interface in the <i>collection hierarchy</i>.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Comparator.html" title="interface in java.util">Comparator</a>&lt;T&gt;</td>
      <td class="colLast">
        <div class="block">A comparison function, which imposes a <i>total ordering</i> on some
          collection of objects.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Deque.html" title="interface in java.util">Deque</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">A linear collection that supports element insertion and removal at
          both ends.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Enumeration.html" title="interface in java.util">Enumeration</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">An object that implements the Enumeration interface generates a
          series of elements, one at a time.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/EventListener.html" title="interface in java.util">EventListener</a></td>
      <td class="colLast">
        <div class="block">A tagging interface that all event listener interfaces must extend.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Formattable.html" title="interface in java.util">Formattable</a></td>
      <td class="colLast">
        <div class="block">The <tt>Formattable</tt> interface must be implemented by any class that
          needs to perform custom formatting using the <tt>'s'</tt> conversion
          specifier of <a href="../../java/util/Formatter.html" title="class in java.util"><code>Formatter</code></a>.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Iterator.html" title="interface in java.util">Iterator</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">An iterator over a collection.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">An ordered collection (also known as a <i>sequence</i>).</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/ListIterator.html" title="interface in java.util">ListIterator</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">An iterator for lists that allows the programmer
          to traverse the list in either direction, modify
          the list during iteration, and obtain the iterator's
          current position in the list.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Map.html" title="interface in java.util">Map</a>&lt;K,V&gt;</td>
      <td class="colLast">
        <div class="block">An object that maps keys to values.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Map.Entry.html" title="interface in java.util">Map.Entry</a>&lt;K,V&gt;</td>
      <td class="colLast">
        <div class="block">A map entry (key-value pair).</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/NavigableMap.html" title="interface in java.util">NavigableMap</a>&lt;K,V&gt;</td>
      <td class="colLast">
        <div class="block">A <a href="../../java/util/SortedMap.html" title="interface in java.util"><code>SortedMap</code></a> extended with navigation methods returning the
          closest matches for given search targets.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/NavigableSet.html" title="interface in java.util">NavigableSet</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">A <a href="../../java/util/SortedSet.html" title="interface in java.util"><code>SortedSet</code></a> extended with navigation methods reporting
          closest matches for given search targets.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Observer.html" title="interface in java.util">Observer</a></td>
      <td class="colLast">
        <div class="block">A class can implement the <code>Observer</code> interface when it
          wants to be informed of changes in observable objects.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Queue.html" title="interface in java.util">Queue</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">A collection designed for holding elements prior to processing.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/RandomAccess.html" title="interface in java.util">RandomAccess</a></td>
      <td class="colLast">
        <div class="block">Marker interface used by <tt>List</tt> implementations to indicate that
          they support fast (generally constant time) random access.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Set.html" title="interface in java.util">Set</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">A collection that contains no duplicate elements.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/SortedMap.html" title="interface in java.util">SortedMap</a>&lt;K,V&gt;</td>
      <td class="colLast">
        <div class="block">A <a href="../../java/util/Map.html" title="interface in java.util"><code>Map</code></a> that further provides a <em>total ordering</em> on its keys.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/SortedSet.html" title="interface in java.util">SortedSet</a>&lt;E&gt;</td>
      <td class="colLast">
        <div class="block">A <a href="../../java/util/Set.html" title="interface in java.util"><code>Set</code></a> that further provides a <i>total ordering</i> on its elements.</div>
      </td>
    </tr>
    </tbody>
  </table>
</li>
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
  <th class="colFirst" scope="col">Class</th>
  <th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/AbstractCollection.html" title="class in java.util">AbstractCollection</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class provides a skeletal implementation of the <tt>Collection</tt>
      interface, to minimize the effort required to implement this interface.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/AbstractList.html" title="class in java.util">AbstractList</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class provides a skeletal implementation of the <a href="../../java/util/List.html" title="interface in java.util"><code>List</code></a>
      interface to minimize the effort required to implement this interface
      backed by a "random access" data store (such as an array).</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/AbstractMap.html" title="class in java.util">AbstractMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">This class provides a skeletal implementation of the <tt>Map</tt>
      interface, to minimize the effort required to implement this interface.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/AbstractMap.SimpleEntry.html" title="class in java.util">AbstractMap.SimpleEntry</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">An Entry maintaining a key and a value.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/AbstractMap.SimpleImmutableEntry.html" title="class in java.util">AbstractMap.SimpleImmutableEntry</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">An Entry maintaining an immutable key and value.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/AbstractQueue.html" title="class in java.util">AbstractQueue</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class provides skeletal implementations of some <a href="../../java/util/Queue.html" title="interface in java.util"><code>Queue</code></a>
      operations.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/AbstractSequentialList.html" title="class in java.util">AbstractSequentialList</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class provides a skeletal implementation of the <tt>List</tt>
      interface to minimize the effort required to implement this interface
      backed by a "sequential access" data store (such as a linked list).</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/AbstractSet.html" title="class in java.util">AbstractSet</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class provides a skeletal implementation of the <tt>Set</tt>
      interface to minimize the effort required to implement this
      interface.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/ArrayDeque.html" title="class in java.util">ArrayDeque</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">Resizable-array implementation of the <a href="../../java/util/Deque.html" title="interface in java.util"><code>Deque</code></a> interface.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/ArrayList.html" title="class in java.util">ArrayList</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">Resizable-array implementation of the <tt>List</tt> interface.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Arrays.html" title="class in java.util">Arrays</a></td>
  <td class="colLast">
    <div class="block">This class contains various methods for manipulating arrays (such as
      sorting and searching).</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/BitSet.html" title="class in java.util">BitSet</a></td>
  <td class="colLast">
    <div class="block">This class implements a vector of bits that grows as needed.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Calendar.html" title="class in java.util">Calendar</a></td>
  <td class="colLast">
    <div class="block">The <code>Calendar</code> class is an abstract class that provides methods
      for converting between a specific instant in time and a set of <a href="../../java/util/Calendar.html#fields"><code>calendar fields</code></a> such as <code>YEAR</code>, <code>MONTH</code>,
      <code>DAY_OF_MONTH</code>, <code>HOUR</code>, and so on, and for
      manipulating the calendar fields, such as getting the date of the next
      week.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Collections.html" title="class in java.util">Collections</a></td>
  <td class="colLast">
    <div class="block">This class consists exclusively of static methods that operate on or return
      collections.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Currency.html" title="class in java.util">Currency</a></td>
  <td class="colLast">
    <div class="block">Represents a currency.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Date.html" title="class in java.util">Date</a></td>
  <td class="colLast">
    <div class="block">The class <code>Date</code> represents a specific instant
      in time, with millisecond precision.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Dictionary.html" title="class in java.util">Dictionary</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">The <code>Dictionary</code> class is the abstract parent of any
      class, such as <code>Hashtable</code>, which maps keys to values.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/EnumMap.html" title="class in java.util">EnumMap</a>&lt;K extends <a href="../../java/lang/Enum.html" title="class in java.lang">Enum</a>&lt;K&gt;,V&gt;</td>
  <td class="colLast">
    <div class="block">A specialized <a href="../../java/util/Map.html" title="interface in java.util"><code>Map</code></a> implementation for use with enum type keys.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/EnumSet.html" title="class in java.util">EnumSet</a>&lt;E extends <a href="../../java/lang/Enum.html" title="class in java.lang">Enum</a>&lt;E&gt;&gt;</td>
  <td class="colLast">
    <div class="block">A specialized <a href="../../java/util/Set.html" title="interface in java.util"><code>Set</code></a> implementation for use with enum types.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/EventListenerProxy.html" title="class in java.util">EventListenerProxy</a>&lt;T extends <a href="../../java/util/EventListener.html" title="interface in java.util">EventListener</a>&gt;</td>
  <td class="colLast">
    <div class="block">An abstract wrapper class for an <code>EventListener</code> class
      which associates a set of additional parameters with the listener.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/EventObject.html" title="class in java.util">EventObject</a></td>
  <td class="colLast">
    <div class="block">
      The root class from which all event state objects shall be derived.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/FormattableFlags.html" title="class in java.util">FormattableFlags</a></td>
  <td class="colLast">
    <div class="block">FomattableFlags are passed to the <a href="../../java/util/Formattable.html#formatTo(java.util.Formatter, int, int, int)"><code>Formattable.formatTo()</code></a> method and modify the output format for <a href="../../java/util/Formattable.html" title="interface in java.util">Formattables</a>.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Formatter.html" title="class in java.util">Formatter</a></td>
  <td class="colLast">
    <div class="block">An interpreter for printf-style format strings.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/GregorianCalendar.html" title="class in java.util">GregorianCalendar</a></td>
  <td class="colLast">
    <div class="block"><code>GregorianCalendar</code> is a concrete subclass of
      <code>Calendar</code> and provides the standard calendar system
      used by most of the world.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/HashMap.html" title="class in java.util">HashMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">Hash table based implementation of the <tt>Map</tt> interface.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/HashSet.html" title="class in java.util">HashSet</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">This class implements the <tt>Set</tt> interface, backed by a hash table
      (actually a <tt>HashMap</tt> instance).</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">This class implements a hash table, which maps keys to values.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/IdentityHashMap.html" title="class in java.util">IdentityHashMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">This class implements the <tt>Map</tt> interface with a hash table, using
      reference-equality in place of object-equality when comparing keys (and
      values).</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/LinkedHashMap.html" title="class in java.util">LinkedHashMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">Hash table and linked list implementation of the <tt>Map</tt> interface,
      with predictable iteration order.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/LinkedHashSet.html" title="class in java.util">LinkedHashSet</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">Hash table and linked list implementation of the <tt>Set</tt> interface,
      with predictable iteration order.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/LinkedList.html" title="class in java.util">LinkedList</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">Doubly-linked list implementation of the <code>List</code> and <code>Deque</code>
      interfaces.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/ListResourceBundle.html" title="class in java.util">ListResourceBundle</a></td>
  <td class="colLast">
    <div class="block"><code>ListResourceBundle</code> is an abstract subclass of
      <code>ResourceBundle</code> that manages resources for a locale
      in a convenient and easy to use list.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Locale.html" title="class in java.util">Locale</a></td>
  <td class="colLast">
    <div class="block">A <code>Locale</code> object represents a specific geographical, political,
      or cultural region.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Locale.Builder.html" title="class in java.util">Locale.Builder</a></td>
  <td class="colLast">
    <div class="block"><code>Builder</code> is used to build instances of <code>Locale</code>
      from values configured by the setters.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Objects.html" title="class in java.util">Objects</a></td>
  <td class="colLast">
    <div class="block">This class consists of <code>static</code> utility methods for operating
      on objects.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Observable.html" title="class in java.util">Observable</a></td>
  <td class="colLast">
    <div class="block">This class represents an observable object, or "data"
      in the model-view paradigm.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/PriorityQueue.html" title="class in java.util">PriorityQueue</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">An unbounded priority <a href="../../java/util/Queue.html" title="interface in java.util">queue</a> based on a priority heap.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Properties.html" title="class in java.util">Properties</a></td>
  <td class="colLast">
    <div class="block">The <code>Properties</code> class represents a persistent set of
      properties.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/PropertyPermission.html" title="class in java.util">PropertyPermission</a></td>
  <td class="colLast">
    <div class="block">This class is for property permissions.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/PropertyResourceBundle.html" title="class in java.util">PropertyResourceBundle</a></td>
  <td class="colLast">
    <div class="block"><code>PropertyResourceBundle</code> is a concrete subclass of
      <code>ResourceBundle</code> that manages resources for a locale
      using a set of static strings from a property file.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Random.html" title="class in java.util">Random</a></td>
  <td class="colLast">
    <div class="block">An instance of this class is used to generate a stream of
      pseudorandom numbers.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/ResourceBundle.html" title="class in java.util">ResourceBundle</a></td>
  <td class="colLast">
    <div class="block">Resource bundles contain locale-specific objects.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/ResourceBundle.Control.html" title="class in java.util">ResourceBundle.Control</a></td>
  <td class="colLast">
    <div class="block"><code>ResourceBundle.Control</code> defines a set of callback methods
      that are invoked by the <a href="../../java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader, java.util.ResourceBundle.Control)"><code>ResourceBundle.getBundle</code></a> factory
      methods during the bundle loading process.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/Scanner.html" title="class in java.util">Scanner</a></td>
  <td class="colLast">
    <div class="block">A simple text scanner which can parse primitive types and strings using
      regular expressions.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/ServiceLoader.html" title="class in java.util">ServiceLoader</a>&lt;S&gt;</td>
  <td class="colLast">
    <div class="block">A simple service-provider loading facility.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/SimpleTimeZone.html" title="class in java.util">SimpleTimeZone</a></td>
  <td class="colLast">
    <div class="block"><code>SimpleTimeZone</code> is a concrete subclass of <code>TimeZone</code>
      that represents a time zone for use with a Gregorian calendar.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Stack.html" title="class in java.util">Stack</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">The <code>Stack</code> class represents a last-in-first-out
      (LIFO) stack of objects.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/StringTokenizer.html" title="class in java.util">StringTokenizer</a></td>
  <td class="colLast">
    <div class="block">The string tokenizer class allows an application to break a
      string into tokens.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Timer.html" title="class in java.util">Timer</a></td>
  <td class="colLast">
    <div class="block">A facility for threads to schedule tasks for future execution in a
      background thread.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/TimerTask.html" title="class in java.util">TimerTask</a></td>
  <td class="colLast">
    <div class="block">A task that can be scheduled for one-time or repeated execution by a Timer.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/TimeZone.html" title="class in java.util">TimeZone</a></td>
  <td class="colLast">
    <div class="block"><code>TimeZone</code> represents a time zone offset, and also figures out daylight
      savings.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/TreeMap.html" title="class in java.util">TreeMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">A Red-Black tree based <a href="../../java/util/NavigableMap.html" title="interface in java.util"><code>NavigableMap</code></a> implementation.</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/TreeSet.html" title="class in java.util">TreeSet</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">A <a href="../../java/util/NavigableSet.html" title="interface in java.util"><code>NavigableSet</code></a> implementation based on a <a href="../../java/util/TreeMap.html" title="class in java.util"><code>TreeMap</code></a>.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/UUID.html" title="class in java.util">UUID</a></td>
  <td class="colLast">
    <div class="block">A class that represents an immutable universally unique identifier (UUID).</div>
  </td>
</tr>
<tr class="altColor">
  <td class="colFirst"><a href="../../java/util/Vector.html" title="class in java.util">Vector</a>&lt;E&gt;</td>
  <td class="colLast">
    <div class="block">The <code>Vector</code> class implements a growable array of
      objects.</div>
  </td>
</tr>
<tr class="rowColor">
  <td class="colFirst"><a href="../../java/util/WeakHashMap.html" title="class in java.util">WeakHashMap</a>&lt;K,V&gt;</td>
  <td class="colLast">
    <div class="block">Hash table based implementation of the <tt>Map</tt> interface, with
      <em>weak keys</em>.</div>
  </td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
  <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
    <caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
    <tr>
      <th class="colFirst" scope="col">Enum</th>
      <th class="colLast" scope="col">Description</th>
    </tr>
    <tbody>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/Formatter.BigDecimalLayoutForm.html" title="enum in java.util">Formatter.BigDecimalLayoutForm</a></td>
      <td class="colLast">&nbsp;</td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/Locale.Category.html" title="enum in java.util">Locale.Category</a></td>
      <td class="colLast">
        <div class="block">Enum for locale categories.</div>
      </td>
    </tr>
    </tbody>
  </table>
</li>
<li class="blockList">
  <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
    <caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
    <tr>
      <th class="colFirst" scope="col">Exception</th>
      <th class="colLast" scope="col">Description</th>
    </tr>
    <tbody>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/ConcurrentModificationException.html" title="class in java.util">ConcurrentModificationException</a></td>
      <td class="colLast">
        <div class="block">This exception may be thrown by methods that have detected concurrent
          modification of an object when such modification is not permissible.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/DuplicateFormatFlagsException.html" title="class in java.util">DuplicateFormatFlagsException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when duplicate flags are provided in the format
          specifier.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/EmptyStackException.html" title="class in java.util">EmptyStackException</a></td>
      <td class="colLast">
        <div class="block">Thrown by methods in the <code>Stack</code> class to indicate
          that the stack is empty.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/FormatFlagsConversionMismatchException.html" title="class in java.util">FormatFlagsConversionMismatchException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when a conversion and flag are incompatible.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/FormatterClosedException.html" title="class in java.util">FormatterClosedException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when the formatter has been closed.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatCodePointException.html" title="class in java.util">IllegalFormatCodePointException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when a character with an invalid Unicode code
          point as defined by <a href="../../java/lang/Character.html#isValidCodePoint(int)"><code>Character.isValidCodePoint(int)</code></a> is passed to the
          <a href="../../java/util/Formatter.html" title="class in java.util"><code>Formatter</code></a>.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatConversionException.html" title="class in java.util">IllegalFormatConversionException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when the argument corresponding to the format
          specifier is of an incompatible type.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatException.html" title="class in java.util">IllegalFormatException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when a format string contains an illegal syntax
          or a format specifier that is incompatible with the given arguments.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatFlagsException.html" title="class in java.util">IllegalFormatFlagsException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when an illegal combination flags is given.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatPrecisionException.html" title="class in java.util">IllegalFormatPrecisionException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when the precision is a negative value other than
          <tt>-1</tt>, the conversion does not support a precision, or the value is
          otherwise unsupported.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/IllegalFormatWidthException.html" title="class in java.util">IllegalFormatWidthException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when the format width is a negative value other
          than <tt>-1</tt> or is otherwise unsupported.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/IllformedLocaleException.html" title="class in java.util">IllformedLocaleException</a></td>
      <td class="colLast">
        <div class="block">Thrown by methods in <a href="../../java/util/Locale.html" title="class in java.util"><code>Locale</code></a> and <a href="../../java/util/Locale.Builder.html" title="class in java.util"><code>Locale.Builder</code></a> to
          indicate that an argument is not a well-formed BCP 47 tag.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/InputMismatchException.html" title="class in java.util">InputMismatchException</a></td>
      <td class="colLast">
        <div class="block">Thrown by a <code>Scanner</code> to indicate that the token
          retrieved does not match the pattern for the expected type, or
          that the token is out of range for the expected type.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/InvalidPropertiesFormatException.html" title="class in java.util">InvalidPropertiesFormatException</a></td>
      <td class="colLast">
        <div class="block">Thrown to indicate that an operation could not complete because
          the input did not conform to the appropriate XML document type
          for a collection of properties, as per the <a href="../../java/util/Properties.html" title="class in java.util"><code>Properties</code></a>
          specification.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/MissingFormatArgumentException.html" title="class in java.util">MissingFormatArgumentException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when there is a format specifier which does not
          have a corresponding argument or if an argument index refers to an argument
          that does not exist.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/MissingFormatWidthException.html" title="class in java.util">MissingFormatWidthException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when the format width is required.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/MissingResourceException.html" title="class in java.util">MissingResourceException</a></td>
      <td class="colLast">
        <div class="block">Signals that a resource is missing.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/NoSuchElementException.html" title="class in java.util">NoSuchElementException</a></td>
      <td class="colLast">
        <div class="block">Thrown by the <code>nextElement</code> method of an
          <code>Enumeration</code> to indicate that there are no more
          elements in the enumeration.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/TooManyListenersException.html" title="class in java.util">TooManyListenersException</a></td>
      <td class="colLast">
        <div class="block">
          The <code> TooManyListenersException </code> Exception is used as part of
          the Java Event model to annotate and implement a unicast special case of
          a multicast Event Source.</div>
      </td>
    </tr>
    <tr class="rowColor">
      <td class="colFirst"><a href="../../java/util/UnknownFormatConversionException.html" title="class in java.util">UnknownFormatConversionException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when an unknown conversion is given.</div>
      </td>
    </tr>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/UnknownFormatFlagsException.html" title="class in java.util">UnknownFormatFlagsException</a></td>
      <td class="colLast">
        <div class="block">Unchecked exception thrown when an unknown flag is given.</div>
      </td>
    </tr>
    </tbody>
  </table>
</li>
<li class="blockList">
  <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Error Summary table, listing errors, and an explanation">
    <caption><span>Error Summary</span><span class="tabEnd">&nbsp;</span></caption>
    <tr>
      <th class="colFirst" scope="col">Error</th>
      <th class="colLast" scope="col">Description</th>
    </tr>
    <tbody>
    <tr class="altColor">
      <td class="colFirst"><a href="../../java/util/ServiceConfigurationError.html" title="class in java.util">ServiceConfigurationError</a></td>
      <td class="colLast">
        <div class="block">Error thrown when something goes wrong while loading a service provider.</div>
      </td>
    </tr>
    </tbody>
  </table>
</li>
</ul>
<a name="package_description">
  <!--   -->
</a>
<h2 title="Package java.util Description">Package java.util Description</h2>
<div class="block">Contains the collections framework, legacy collection classes, event model,
  date and time facilities, internationalization, and miscellaneous utility
  classes (a string tokenizer, a random-number generator, and a bit array).

  <h2>Package Specification</h2>
  <ul>
    <li><a href="../../../technotes/guides/collections/overview.html"><b>Collections Framework Overview</b></a>
    <li><a href="../../../technotes/guides/collections/reference.html"><b>
      Collections Framework Annotated Outline</b></a>
  </ul>

  <h2>Related Documentation</h2>
  For overviews, tutorials, examples, guides, and tool documentation, please see:
  <ul>
    <li><a href="http://www.java.sun.com/docs/books/tutorial/collections/">
      <b>Collections Framework Tutorial</b></a>
    <li><a
        href="../../../technotes/guides/collections/designfaq.html"><b>Collections
      Framework Design FAQ</b></a>
  </ul></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>JDK1.0</dd></dl>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
  <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
  <!--   -->
</a>
  <ul class="navList" title="Navigation">
    <li><a href="../../overview-summary.html">Overview</a></li>
    <li class="navBarCell1Rev">Package</li>
    <li>Class</li>
    <li><a href="package-use.html">Use</a></li>
    <li><a href="package-tree.html">Tree</a></li>
    <li><a href="../../deprecated-list.html">Deprecated</a></li>
    <li><a href="../../index-files/index-1.html">Index</a></li>
    <li><a href="../../help-doc.html">Help</a></li>
  </ul>
  <div class="aboutLanguage"><em><strong>Java&trade;&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;7</strong></em></div>
</div>
<div class="subNav">
  <ul class="navList">
    <li><a href="../../java/text/spi/package-summary.html">Prev Package</a></li>
    <li><a href="../../java/util/concurrent/package-summary.html">Next Package</a></li>
  </ul>
  <ul class="navList">
    <li><a href="../../index.html?java/util/package-summary.html" target="_top">Frames</a></li>
    <li><a href="package-summary.html" target="_top">No Frames</a></li>
  </ul>
  <ul class="navList" id="allclasses_navbar_bottom">
    <li><a href="../../allclasses-noframe.html">All Classes</a></li>
  </ul>
  <div>
    <script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
    </script>
  </div>
  <a name="skip-navbar_bottom">
    <!--   -->
  </a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size="-1"> <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a> <br>For further API reference and developer documentation, see <a href="http://download.oracle.com/javase/7/docs/index.html" target="_blank">Java SE Documentation</a>. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.<br> <a href="../../../legal/cpyr.html">Copyright</a> &#x00a9; 1993, 2012, Oracle and/or its affiliates.  All rights reserved. </font></small></p>
<!-- Start SiteCatalyst code   -->
<script type="text/JavaScript" src="http://www.oracle.com/ocom/groups/systemobject/@mktg_admin/documents/systemobject/s_code_download.js"></script>
<script type="text/JavaScript" src="http://www.oracle.com/ocom/groups/systemobject/@mktg_admin/documents/systemobject/s_code.js"></script>

<!-- ********** DO NOT ALTER ANYTHING BELOW THIS LINE ! *********** -->
<!--  Below code will send the info to Omniture server -->
<script type="text/javascript">var s_code=s.t();if(s_code)document.write(s_code)</script>

<!-- End SiteCatalyst code -->
<noscript>
  <p>Scripting on this page tracks web page traffic, but does not change the content in any way.</p>
</noscript>
</body>
</html>
