Метод clone() класса HashMap в Java

Java HashMap Java HashMap

Метод clone() используется для копирования hashMap; это поверхностное копирование.

Дополнительно:

Поверхностное копирование копирует только указатель на объект, а не сам объект. Новый и старый объекты по-прежнему совместно используют одну и ту же память, поэтомуесли один из объектов изменит этот адрес, это повлияет на другой объект.。。

Аналогом поверхностного копирования является глубокое копирование. Глубокое копирование полностью копирует объект из памяти, открывает новую область в куче для хранения нового объекта, иизменение нового объекта не повлияет на исходный объект.。

Синтаксис метода clone():

hashmap.clone()

Примечание:hashmap — это объект класса HashMap.

Описание параметров:

  • Отсутствует

Возвращаемое значение

Возвращает копию экземпляра HashMap (объекта).

Пример

В следующем примере демонстрируется использование метода clone():

Пример

import java.util.HashMap;

class Main {
    public static void main(String[] args) {

        HashMap<Integer, String> sites = new HashMap<>();
        sites.put(1, "Google");
        sites.put(2, "Example");
        sites.put(3, "Taobao");
        System.out.println("HashMap: " + sites);

        // Копировать sites
        HashMap<Integer, String> cloneSites = (HashMap<Integer, String>)sites.clone();
        System.out.println("Cloned HashMap: " + cloneSites);
    }
}

运行上述程序的输出是:

HashMap: {1=Google, 2=Example, 3=Taobao}
Cloned HashMap: {1=Google, 2=Example, 3=Taobao}

В приведенном выше примере мы создали HashMap с именем sites, а затем использовали метод clone() в коде, чтобы скопировать дубликат sites.

Обратите внимание на выражение:

(HashMap<Integer, String>)sites.clone();
  • sites.clone() — возвращает скопированный объект sites
  • (HashMap<Integer, String>) преобразует возвращенный объект в HashMap, где его ключи имеют тип Integer, а значения — тип String.

Возвращаемое значение метода clone():

Пример

import java.util.HashMap;

class Main {
    public static void main(String[] args){

        // Создать хэш-карту
        HashMap<String, Integer> primeNumbers = new HashMap<>();
        primeNumbers.put("Два", 2);
        primeNumbers.put("Три", 3);
        primeNumbers.put("Пять", 5);
        System.out.println("Числа: " + primeNumbers);

        // Вывести возвращаемое значение метода clone()
        System.out.println("Возвращаемое значение clone(): " + primeNumbers.clone());
    }
}

运行上述程序的输出是:

Prime Numbers: {Five=5, Two=2, Three=3}
Return value of clone(): {Five=5, Two=2, Three=3}

В приведённом выше примере мы создали HashMap с именем primeNumbers, и вывод — это возвращаемое значение метода clone().

Примечание:Метод clone() не является специфичным для класса HashMap; любой класс, реализующий интерфейс Cloneable, может использовать метод clone().

Java HashMap Java HashMap

Другие расширения