Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
HashMap compute() Method in Java
Next article icon

HashMap clone() Method in Java

Last Updated : 13 Dec, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

The clone() method of the HashMap class in Java is used to create a shallow copy of the specified HashMap. The method returns a new HashMap that contains the same key-value mappings as the original HashMap.

Example 1: Here, we will use the clone() method to clone a HashMap of Integer keys and String values.

Java
// Mapping String values to Integer keys import java.util.HashMap;  public class GFG {     public static void main(String[] args) {                // Create a HashMap and add          // key-value pairs         HashMap<Integer, String> hm = new HashMap<>();         hm.put(1, "Java");         hm.put(2, "C++");         hm.put(3, "Python");          // Print the original HashMap         System.out.println("Original HashMap: " + hm);          // Clone the HashMap         HashMap<Integer, String> cl =            (HashMap<Integer, String>) hm.clone();          // Print the cloned HashMap         System.out.println("Cloned HashMap: " + cl);     } } 

Output
Original HashMap: {1=Java, 2=C++, 3=Python} Cloned HashMap: {1=Java, 2=C++, 3=Python} 

Explanation: In the above example, the clone() method creates a shallow copy of the HashMap. Both “hm” and “cl” contain the same key-value pairs.

To know more about Shallow copy and Deep copy refer this article: Shallow copy and Deep copy.

Syntax of HashMap clone() Method

public Object clone()

  • Parameters: The method does not take any parameters.
  • Return Value: The clone() method returns a shallow copy of the HashMap.

Points to Remember:

  • The clone is shallow means the keys and values themselves are not cloned, but references to them are copied.
  • Changes to mutable objects inside the HashMap will reflect in both the original and the cloned HashMap.

Example 2: Here, we will use the clone() method to clone a HashMap of String keys and Integer values.

Java
// Mapping Integer Values to String Keys  import java.util.*;  public class GFG {     public static void main(String[] args) {                // Creating an empty HashMap         HashMap<String, Integer> hm = new HashMap<String, Integer>();          // Mapping string keys to integer values         hm.put("Java", 1);         hm.put("C++", 2);         hm.put("Python", 3);          // Print and display the HashMap         System.out.println("Original HashMap: " + hm);          // Clone the HashMap         HashMap<String, Integer> cl            = (HashMap<String, Integer>) hm.clone();          System.out.println("Cloned HashMap: " + cl);     } } 

Output
Original HashMap: {Java=1, C++=2, Python=3} Cloned HashMap: {Java=1, C++=2, Python=3} 

Important Points: 

  • The same operation can be performed with any type of mappings with variation and combination of different data types.
  • clone() method does the shallow copy. But here the values in the original and cloned hashmap will not affect each other because primitive data type is used.


Next Article
HashMap compute() Method in Java
author
chinmoy lenka
Improve
Article Tags :
  • Java
  • Java-Collections
  • Java-HashMap
Practice Tags :
  • Java
  • Java-Collections

Similar Reads

  • HashMap in Java
    In Java, HashMap is part of the Java Collections Framework and is found in the java.util package. It provides the basic implementation of the Map interface in Java. HashMap stores data in (key, value) pairs. Each key is associated with a value, and you can access the value by using the corresponding
    15+ min read
  • HashMap clear() Method in Java
    The clear() method of the HashMap class in Java is used to remove all of the elements or mappings (key-value pairs) from a specified HashMap. Example 2: Here, we will use the clear() method to clear a HashMap of Integer keys and String values. [GFGTABS] Java // Clearing HashMap of Integer keys // an
    2 min read
  • HashMap clone() Method in Java
    The clone() method of the HashMap class in Java is used to create a shallow copy of the specified HashMap. The method returns a new HashMap that contains the same key-value mappings as the original HashMap. Example 1: Here, we will use the clone() method to clone a HashMap of Integer keys and String
    2 min read
  • HashMap compute() Method in Java
    The compute(Key, BiFunction) method of the HashMap class in Java is used to update or compute a value for a specific key. It tries to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping). If the remapping function passed to compute() returns n
    4 min read
  • HashMap containsKey() Method in Java
    The java.util.HashMap.containsKey() method is used to check whether a particular key is being mapped into the HashMap or not. It takes the key element as a parameter and returns True if that element is mapped in the map. Syntax: Hash_Map.containsKey(key_element)Parameters: The method takes just one
    2 min read
  • Java HashMap containsValue() Method
    In Java, the containsValue() method of the HashMap class is used to check whether a particular value is being mapped by a single or more than one key in the HashMap. Example 1: This example demonstrates how the containsValue() method works when String values are mapped to integer keys. [GFGTABS] Jav
    2 min read
  • HashMap entrySet() Method in Java
    The entrySet() method of the HashMap class in Java is used to create a set view of the mappings contained in the HashMap. This method allows us to iterate over the key-value pairs in the map or convert them into a set. Example 1: Here, we will use the entrySet() method to view the mappings in a Hash
    2 min read
  • HashMap get() Method in Java
    The java.util.HashMap.get() method of HashMap class is used to retrieve or fetch the value mapped by a particular key mentioned in the parameter. It returns NULL when the map contains no such mapping for the key. Syntax: Hash_Map.get(Object key_element)Parameter: The method takes one parameter key_e
    2 min read
  • Java HashMap put() Method
    The put() method of the Java HashMap class is used to add or update the key-value pairs in the map. If the key already exists in the map, the previous value associated with the key is replaced by the new value and If the key does not exist, the new key-value pair is added to the map. Syntax of HashM
    2 min read
  • Java HashMap putAll() Method
    The putAll() method of the Java HashMap class is used to copy all key-value mappings from another map to the existing map. If a key exists in both maps, its value is updated with the value from the source map. Otherwise, new key-value pairs are added. Example 1: This example demonstrates copying all
    2 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences