{"id":63,"date":"2020-12-31T22:02:36","date_gmt":"2020-12-31T22:02:36","guid":{"rendered":"https:\/\/bhiggs.x10hosting.com\/practical-java-programming\/?page_id=63"},"modified":"2021-01-09T22:17:52","modified_gmt":"2021-01-09T22:17:52","slug":"the-java-class-library","status":"publish","type":"page","link":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/","title":{"rendered":"The Java Class Library"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a06ed3f5a3a4\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a06ed3f5a3a4\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Overview\" >Overview<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#What_is_the_Java_Class_Library\" >What is the Java Class Library?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#The_Organization_of_the_Library\" >The Organization of the Library<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Class_javalangObject\" >Class java.lang.Object<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#javalang_Classes\" >java.lang Classes<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Object\" >Object<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Class\" >Class<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Wrapper_Classes\" >Wrapper Classes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#String_StringBuffer\" >String, StringBuffer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Runtime\" >Runtime<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#System\" >System<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Math\" >Math<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Thread\" >Thread<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Process\" >Process<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Throwable_Exception_Error_and_Specific_Exception_Classes\" >Throwable, Exception, Error, and Specific Exception Classes<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#javautil_Classes\" >java.util Classes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#The_Old_Collections_Classes\" >The Old Collections Classes<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#HashTable_and_Properties\" >HashTable&nbsp;and&nbsp;Properties<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Vector\" >Vector<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Stack\" >Stack<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Enumeration\" >Enumeration<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#The_Collections_Framework\" >The Collections Framework<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Date_Calendar_and_TimeZone\" >Date, Calendar, and TimeZone<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#ResourceBundle_ListResourceBundle_PropertyResourceBundle\" >ResourceBundle,&nbsp;ListResourceBundle,&nbsp;PropertyResourceBundle<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#BitSet\" >BitSet<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Random\" >Random<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#StringTokenizer\" >StringTokenizer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#Observer_and_Observable\" >Observer and Observable<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#javamath_Classes\" >java.math Classes<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#BigDecimal\" >BigDecimal<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/course-topics\/the-java-class-library\/#BigInteger\" >BigInteger<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>One of the great strengths of Java is its large and powerful class library.<\/p>\n\n\n\n<p>You can get an idea of the size and scope of the Java class library by going to the &#8220;javadoc&#8221; pages for the appropriate version of the JDK.<\/p>\n\n\n\n<p>For example, click on this link: <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/\" data-type=\"URL\" target=\"_blank\">https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/<\/a> to go to the <strong>javadoc<\/strong> pages that describe the Java API for Java 5 (a.k.a. 1.5). (Of course, there are many later versions of Java than this.)<\/p>\n\n\n\n<p>Browse around a little to see how much there is!<\/p>\n\n\n\n<p>Of course, with any such rich and powerful class library, you have to spend a lot of time learning what is there, what to use for what you need, and how to use it.&nbsp; But don&#8217;t worry!&nbsp; You don&#8217;t have to know everything in the class library in order to use it.&nbsp; (I know I don&#8217;t!)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Overview\"><\/span>Overview<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_the_Java_Class_Library\"><\/span>What is the Java Class Library?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Java comes with a&nbsp;<strong><em>very<\/em><\/strong>&nbsp;large and useful library of classes and interfaces.<\/p>\n\n\n\n<p>The Java class library supports a large number of capabilities, too numerous to mention at this point.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Organization_of_the_Library\"><\/span>The Organization of the Library<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>The following gives an idea of the organization of the java class library :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>java\n  applet\t  \/\/ applet support\n  awt\t\t  \/\/ Abstract Windowing Toolkit (AWT)\n    datatransfer    \/\/ Generic inter-app data transfer\n    event\t    \/\/ Event handling\n    image\t    \/\/ Image processing support\n    peer\t    \/\/ GUI component peer interfaces\n  beans\t\t  \/\/ Java Beans (reusable components)\n  io\t\t  \/\/ I\/O support\n  lang\t\t  \/\/ Java language support\n    reflect\t    \/\/ Java Reflection API\n  math\t\t  \/\/ Math support\n  net\t\t  \/\/ Network support\n  rmi\t\t  \/\/ Remote Method Invocation (RMI)\n    dgc\t\t    \/\/ Distributed Garbage Collection\n    registry\t    \/\/ Remote object registration\n    server\t    \/\/ Remote object creation\n  security\t  \/\/ Cryptographic security\n    acl\t\t    \/\/ Access Control List support\n    interfaces\t    \/\/ Java Security API interfaces\n  sql\t\t  \/\/ Java Database Connectivity (JDBC)\n  text\t\t  \/\/ Internationalization support\n  util\t\t  \/\/ \"Utility\" support (central)\n    zip\t\t    \/\/ Data [de]compression support<\/strong><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong><em><u>Note:<\/u><\/em><\/strong>&nbsp;Each version of Java adds&nbsp;<em>considerably<\/em>&nbsp;to the Java class library, so it is impractical to keep the above up to date.&nbsp; If you wish to learn what is available in any given version of the Java class library, you should use your web browser to go to&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.oracle.com\/java\/technologies\/\" target=\"_blank\">https:\/\/www.oracle.com\/java\/technologies\/<\/a> and browse around, seeing how Java gets into lots of areas.<\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Class_javalangObject\"><\/span>Class java.lang.Object<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>As the textbook says, the&nbsp;<code>Object<\/code>&nbsp;class is the <em>&#8220;Cosmic Superclass&#8221;<\/em> for Java.<\/p>\n\n\n\n<p>Every class in Java ultimately extends from the <strong>Object<\/strong> class.&nbsp; It is the top of the Java inheritance hierarchy, which means that there is only a single inheritance tree in Java.&nbsp; (In C++, this is not true;&nbsp; there are as many inheritance trees as you wish to invent &#8212; you get a forest, not a single tree.)<\/p>\n\n\n\n<p>To get a good feel for what is in the Object class, click on this link: <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/java\/lang\/Object.html\" target=\"_blank\">https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/java\/lang\/Object.html<\/a>&nbsp;, which will show you the Object class for Java 5\/1.5.&nbsp; Browse over it, to see what it supplies.<\/p>\n\n\n\n<p>Here, we will talk about some of the features it provides.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"javalang_Classes\"><\/span>java.lang Classes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Here is a quick synopsis of some of the classes you&#8217;ll find in the <code><strong>java.lang<\/strong><\/code> package:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Object\"><\/span><strong>Object<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>The ultimate root class of all Java classes<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Class\"><\/span><strong>Class<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>A class that describes a Java class.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Wrapper_Classes\"><\/span>Wrapper Classes<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>These are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Boolean<\/strong><\/li><li><strong>Character<\/strong><\/li><li><strong>Number<\/strong><ul><li><strong>Byte&nbsp;(JDK 1.1)<\/strong><\/li><li><strong>Short&nbsp;(JDK 1.1)<\/strong><\/li><li><strong>Integer<\/strong><\/li><li><strong>Long<\/strong><\/li><li><strong>Float<\/strong><\/li><li><strong>Double<\/strong><\/li><\/ul><\/li><\/ul>\n\n\n\n<p>These classes provide&nbsp;<em><strong>immutable<\/strong><\/em>&nbsp;wrappers for the primitive data types, when you wish to manipulate such types as objects &#8212; especially to allow for their use in polymorphism.<\/p>\n\n\n\n<p><strong>Number<\/strong>&nbsp;is an&nbsp;<em><strong>abstract<\/strong><\/em>&nbsp;class, from which the numeric wrappers all derive. All the other classes are&nbsp;<em><strong>final<\/strong><\/em>&nbsp;classes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"String_StringBuffer\"><\/span><strong>String, StringBuffer<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Objects that represent strings.<\/p>\n\n\n\n<p><strong>String<\/strong>&nbsp;is an&nbsp;<em><u>immutable<\/u><\/em>&nbsp;type.<\/p>\n\n\n\n<p><strong>StringBuffer<\/strong>&nbsp;allows its string to be changed in place.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Runtime\"><\/span><strong>Runtime<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Contains a number of low-level methods associated with the Java run-time system.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"System\"><\/span><strong>System<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Contains a number of low-level methods associated with the system.<\/p>\n\n\n\n<p>All its methods are class methods; it may not be instantiated.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Math\"><\/span><strong>Math<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Provides support for the mathematical values&nbsp;<strong>e&nbsp;<\/strong>and&nbsp;<strong>\u03a0<\/strong> (pi), and defines static methods for floating point trigonometry, exponentiation, minimum, maximum, and pseudo-random number generation.<\/p>\n\n\n\n<p>All its methods are class methods; it may not be instantiated.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Thread\"><\/span><strong>Thread<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Provides support for multiple threads of control running within the same Java interpreter.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Process\"><\/span><strong>Process<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Defines a platform-independent interface to platform-dependent processes running externally to the Java interpreter.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Throwable_Exception_Error_and_Specific_Exception_Classes\"><\/span><strong>Throwable, Exception, Error<\/strong>, and Specific Exception Classes<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Defines a set of objects that may be thrown as exceptions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"javautil_Classes\"><\/span>java.util Classes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The package&nbsp;<code>java.util<\/code>, as its name implies, provides a number of useful classes.<\/p>\n\n\n\n<p>(Note: It should&nbsp;<em><strong>not<\/strong><\/em>&nbsp;be considered a &#8220;utility&#8221; package separate from the rest of the language. It is part and parcel of the library, and Java depends heavily on several of the classes in this package.)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Old_Collections_Classes\"><\/span>The Old Collections Classes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"HashTable_and_Properties\"><\/span><strong>HashTable&nbsp;<\/strong>and&nbsp;<strong>Properties<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p><strong>HashTable<\/strong>&nbsp;implements a hashtable or associative array. It allows abritrary objects to be stored and retrieved by arbitrary keys.<\/p>\n\n\n\n<p><strong>Properties<\/strong>, a subclass of&nbsp;<strong>HashTable<\/strong>, is used to store the Java system properties list.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Vector\"><\/span><strong>Vector<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Implements an array of objects that grows as needed when objects are added.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stack\"><\/span><strong>Stack<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Implements a LIFO stack on which objects may be pushed and from which they may be popped.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Enumeration\"><\/span><strong>Enumeration<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Interface which provides a simple and consistent way to loop through all the elements contained within some kind of object or data structure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Collections_Framework\"><\/span>The Collections Framework<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Many interfaces and classes used to implement the powerful Java collections framework.&nbsp; We discussed these classes in some detail, earlier.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Date_Calendar_and_TimeZone\"><\/span><strong>Date, Calendar, and TimeZone<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>The&nbsp;<strong>Date<\/strong>&nbsp;class represents a date and time, using a millisecond representation.<\/p>\n\n\n\n<p>The&nbsp;<strong>Calendar<\/strong>&nbsp;class manipulates dates using years, months, days, hours, minutes, etc.<\/p>\n\n\n\n<p>The&nbsp;<strong>TimeZone<\/strong>&nbsp;class is used in conjunction with dates.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ResourceBundle_ListResourceBundle_PropertyResourceBundle\"><\/span><strong>ResourceBundle,&nbsp;ListResourceBundle,&nbsp;PropertyResourceBundle<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Represent a &#8220;bundle&#8221; of localized resources that are read in by an internationalized Java program at run-time.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"BitSet\"><\/span><strong>BitSet<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Implements an arbitrary-size array of bits.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Random\"><\/span><strong>Random<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Generates and returns pseudo-random numbers in a variety of forms.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"StringTokenizer\"><\/span><strong>StringTokenizer<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Parses a string into tokens.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Observer_and_Observable\"><\/span><strong>Observer and Observable<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Provide infrastructure for implementing the object-oriented model-view paradigm in Java.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"javamath_Classes\"><\/span>java.math Classes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The&nbsp;<strong>java.math<\/strong>&nbsp;package contains classes for arbitrary-precision integer and floating-point arithmetic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"BigDecimal\"><\/span><strong>BigDecimal<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Represents a floating-point number of arbitrary size and precision.<\/p>\n\n\n\n<p>Its methods duplicate the functionality of the standard Java arithmetic operators.<\/p>\n\n\n\n<p><code><strong>BigDecimal<\/strong><\/code>&nbsp;is a subclass of&nbsp;<strong>java.lang.Number<\/strong>.<\/p>\n\n\n\n<p><strong>BigDecimal<\/strong>&nbsp;values can be useful for applications (such as financial applications) where rounding errors are problematic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"BigInteger\"><\/span><strong>BigInteger<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Represents integers that can be arbitrarily large.<\/p>\n\n\n\n<p>It defines methods which duplicate the functionality of the standard Java arithmetic and bit-manipulation operators.<\/p>\n\n\n\n<p><code><strong>BigInteger<\/strong><\/code>&nbsp;is a subclass of&nbsp;<strong>java.lang.Number.<\/strong><\/p>\n\n\n\n<p>Arbitrary-length integers are used in cryptography, and <code><strong>BigInteger<\/strong><\/code> contains many methods designed for cryptographic applications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the great strengths of Java is its large and powerful class library. You can get an idea of the size and scope of the Java class library by going to the &#8220;javadoc&#8221; pages for the appropriate version of the JDK. For example, click on this link: https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/ to go to the javadoc pages [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":34,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","_uag_custom_page_level_css":"","ocean_post_layout":"left-sidebar","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"ocs-course-topics-sidebar","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":""},"class_list":["post-63","page","type-page","status-publish","hentry","entry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"ocean-thumb-m":false,"ocean-thumb-ml":false,"ocean-thumb-l":false},"uagb_author_info":{"display_name":"Bryan Higgs","author_link":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/author\/bryan\/"},"uagb_comment_info":0,"uagb_excerpt":"One of the great strengths of Java is its large and powerful class library. You can get an idea of the size and scope of the Java class library by going to the &#8220;javadoc&#8221; pages for the appropriate version of the JDK. For example, click on this link: https:\/\/docs.oracle.com\/javase\/1.5.0\/docs\/api\/ to go to the javadoc pages&hellip;","_links":{"self":[{"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/pages\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":5,"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/pages\/63\/revisions"}],"predecessor-version":[{"id":616,"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/pages\/63\/revisions\/616"}],"up":[{"embeddable":true,"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/pages\/34"}],"wp:attachment":[{"href":"https:\/\/bhiggs.x10hosting.com\/PracticalJavaProgramming\/wp-json\/wp\/v2\/media?parent=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}