Introduction to java.util Package
Hello allπ I hope you are doing well. This is going to be a short introductory article about the most useful package in Java i.e., java.util package.
Let’s begin.
Let’s first understand package
What is a package?
In short a Java package is collection of similar type of classes.
A Package can be defined as a collection of similar types of classes, interfaces and sub-packages in the form of directory structure. You can read more about packages in one of my article here.
java.util
The basic utility classes required to a programmer are present in this package. It 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). To use any class you have to import java.util package at top of the program:-
import java.util.Class_name;
To make it easy let’s take an example, let’s suppose you want to print date and time in your program you will need to import java.util package.
import java.util.Date; //or //import java.util.*; public class Demo public static void main(String[] args) Date date = new Date(); System.out.println("The date is : " + date); > >
You can run your code online here
What is use of java.util package?
- For Java collections.
- For random number generation.
- For Calendar.
- For string parsing.
- For internationalization support by using the internationalization supported classes from java.util package (Locale).
Some important and generally used classes
Some important and generally used classes and interfaces which are present inside the java.util package are:-
- Arrays :- This class contains various methods for manipulating arrays.
- ArrayList :- This class is resizable-array implementation of the List interface.
- Collections :- This class consists exclusively of static methods that operate on or return collections.
- Date :- This class represents a specific instant in time, with millisecond precision.
- EventObject :- This class is the root class from which all event state objects shall be derived.
- Formatter :- An interpreter for printf-style format strings.
- HashMap :- The HashMap class Hash table based implementation of the Map interface.
- HashSet :- The HashSet class implements the Set interface, backed by a hash table (actually a HashMap instance).
- HashTable :- The HashTable class implements a hash table, which maps keys to values.
- LinkedList :- The LinkedList class Doubly-linked list implementation of the List and Deque interfaces.
- Locale :- A Locale object represents a specific geographical, political, or cultural region.
- Objects :- This class consists of static utility methods for operating on objects.
- Random :- An instance of this class is used to generate a stream of pseudorandom numbers.
- Scanner :- A simple text scanner which can parse primitive types and strings using regular expressions. (Read more)
- StringTokenizer :- The string tokenizer class allows an application to break a string into tokens.
- Timer :- A facility for threads to schedule tasks for future execution in a background thread.
- TimerTask :- A task that can be scheduled for one-time or repeated execution by a Timer.
- TreeMap :- The TreeMap class A Red-Black tree based NavigableMap implementation.
- TreeSet :- The TreeSet class A NavigableSet implementation based on a TreeMap.
Package java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes. This package also contains legacy collection classes and legacy date and time classes.
Java Collections Framework
Provides classes for reading and writing the JAR (Java ARchive) file format, which is based on the standard ZIP file format with an optional manifest file.
This package allows applications to store and retrieve user and system preference and configuration data.
This package contains classes and interfaces that support a generic API for random number generation.
Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.
This class provides a skeletal implementation of the Collection interface, to minimize the effort required to implement this interface.
This class provides a skeletal implementation of the List interface to minimize the effort required to implement this interface backed by a «random access» data store (such as an array).
This class provides a skeletal implementation of the Map interface, to minimize the effort required to implement this interface.
This class provides a skeletal implementation of the List interface to minimize the effort required to implement this interface backed by a «sequential access» data store (such as a linked list).
This class provides a skeletal implementation of the Set interface to minimize the effort required to implement this interface.
This class consists exclusively of static methods for obtaining encoders and decoders for the Base64 encoding scheme.
This class implements a decoder for decoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.
This class implements an encoder for encoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.
The Calendar class is an abstract class that provides methods for converting between a specific instant in time and a set of calendar fields such as YEAR , MONTH , DAY_OF_MONTH , HOUR , and so on, and for manipulating the calendar fields, such as getting the date of the next week.
This exception may be thrown by methods that have detected concurrent modification of an object when such modification is not permissible.
The Dictionary class is the abstract parent of any class, such as Hashtable , which maps keys to values.
An abstract wrapper class for an EventListener class which associates a set of additional parameters with the listener.
The Formattable interface must be implemented by any class that needs to perform custom formatting using the ‘s’ conversion specifier of Formatter .
FormattableFlags are passed to the Formattable.formatTo() method and modify the output format for Formattables.
GregorianCalendar is a concrete subclass of Calendar and provides the standard calendar system used by most of the world.
HexFormat converts between bytes and chars and hex-encoded strings which may include additional formatting markup such as prefixes, suffixes, and delimiters.
This class implements the Map interface with a hash table, using reference-equality in place of object-equality when comparing keys (and values).
Unchecked exception thrown when a character with an invalid Unicode code point as defined by Character.isValidCodePoint(int) is passed to the Formatter .
Unchecked exception thrown when the argument corresponding to the format specifier is of an incompatible type.
Unchecked exception thrown when a format string contains an illegal syntax or a format specifier that is incompatible with the given arguments.
Unchecked exception thrown when the precision is a negative value other than -1 , the conversion does not support a precision, or the value is otherwise unsupported.
Unchecked exception thrown when the format width is a negative value other than -1 or is otherwise unsupported.
Thrown by methods in Locale and Locale.Builder to indicate that an argument is not a well-formed BCP 47 tag.
Thrown by a Scanner 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.
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 Properties specification.
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.
ListResourceBundle is an abstract subclass of ResourceBundle that manages resources for a locale in a convenient and easy to use list.
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.
This class consists of static utility methods for operating on objects, or checking certain conditions before operation.
PropertyResourceBundle is a concrete subclass of ResourceBundle that manages resources for a locale using a set of static strings from a property file.
An instance of this class is used to generate a stream of pseudorandom numbers; its period is only 2 48 .
Marker interface used by List implementations to indicate that they support fast (generally constant time) random access.
ResourceBundle.Control defines a set of callback methods that are invoked by the ResourceBundle.getBundle factory methods during the bundle loading process.
SimpleTimeZone is a concrete subclass of TimeZone that represents a time zone for use with a Gregorian calendar.
Static classes and methods for operating on or creating instances of Spliterator and its primitive specializations Spliterator.OfInt , Spliterator.OfLong , and Spliterator.OfDouble .
A generator of uniform pseudorandom values (with period 2 64 ) applicable for use in (among other contexts) isolated parallel computations that may generate subtasks.
StringJoiner is used to construct a sequence of characters separated by a delimiter and optionally starting with a supplied prefix and ending with a supplied suffix.
The TooManyListenersException Exception is used as part of the Java Event model to annotate and implement a unicast special case of a multicast Event Source.
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright Β© 1993, 2023, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.