Open In App

Java.util Package in Java

Last Updated : 08 Nov, 2025
Comments
Improve
Suggest changes
6 Likes
Like
Report

The java.util package is one of the most widely used packages in the Java programming language. It provides a set of utility classes that support data structures, date and time manipulation, random number generation, event handling, and other commonly used functionalities in Java programs.

  • Provides a rich Collection Framework (List, Set, Map) for data handling.
  • Includes utility classes (Collections, Arrays) for sorting and searching.
  • Offers Date, Calendar, and Random for time and random operations.
  • Supports Properties for configuration management.
  • Contains concurrent and legacy classes for compatibility.
java_util
java.util

Package Declaration

import java. util.*;

This single import statement allows access to all classes and interfaces inside the java.util package.

Java
import java.util.*;

public class GFG{

    public static void main(String[] args){

        // Using ArrayList
        List<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        // Using Collections utility class
        Collections.sort(names);
        System.out.println("Sorted Names: " + names);

        // Simulated user input
        String userName = "User";
        System.out.println("Hello, " + userName + "!");
    }
}

Output
Sorted Names: [Alice, Bob, Charlie]
Hello, User!

Commonly Used Classes and Interfaces in java.util

CategoryClass / InterfaceDescription
Collection FrameworkArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMapImplements data structures such as lists, sets, and maps.
Utility ClassesCollections, Arrays, ObjectsProvide static methods for common tasks like sorting, searching, and null checks.
Iterator InterfacesIterator, ListIterator, EnumerationUsed to traverse elements in a collection.
Date and Time ClassesDate, Calendar, TimeZone, Timer, TimerTaskHandle and schedule date/time-related operations.
Random Number GenerationRandomGenerates random numbers for simulations or games.
Tokenizing StringsStringTokenizerSplits strings into tokens based on delimiters.
User Input HandlingScannerReads input from various sources like keyboard or files.
Properties and Resource BundlesProperties, ResourceBundleUsed for configuration files and localization (internationalization).
Concurrent CollectionsConcurrentHashMap, CopyOnWriteArrayList, BlockingQueueThread-safe collections for multithreaded applications.

Sub-packages of java.util

Sub-PackagePurpose
java.util.concurrentContains thread-safe concurrent collection classes and synchronization utilities.
java.util.functionProvides functional interfaces for lambda expressions.
java.util.streamSupports functional-style operations on streams of elements.
java.util.regexContains classes for regular expressions.

java.util vs java.lang

Featurejava.util Packagejava.lang Package
PurposeProvides utility classes such as collections, date/time, and random utilities.Contains fundamental classes essential for Java language execution.
Common ClassesArrayList, HashMap, Date, Collections, ScannerString, Object, Math, System, Thread
Import RequirementMust be explicitly imported in a program.Imported automatically by default in every Java program.
Usage TypeUsed for data structures, utilities, and general-purpose operations.Used for basic language constructs and core functionality.
Package TypeConsidered a utility package.Considered a core package.

Explore