Метод clone() класса HashMap в Java
Метод clone() используется для копирования hashMap; это поверхностное копирование.
Дополнительно:
Поверхностное копирование копирует только указатель на объект, а не сам объект. Новый и старый объекты по-прежнему совместно используют одну и ту же память, поэтомуесли один из объектов изменит этот адрес, это повлияет на другой объект.。。
Аналогом поверхностного копирования является глубокое копирование. Глубокое копирование полностью копирует объект из памяти, открывает новую область в куче для хранения нового объекта, иизменение нового объекта не повлияет на исходный объект.。
Синтаксис метода clone():
hashmap.clone()
Примечание:hashmap — это объект класса HashMap.
Описание параметров:
- Отсутствует
Возвращаемое значение
Возвращает копию экземпляра HashMap (объекта).
Пример
В следующем примере демонстрируется использование метода clone():
Пример
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():
Пример
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