English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Java

Controle de fluxo do Java

Array do Java

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (fila)

Conjunto Map do Java

Conjunto Set do Java

Entrada e saída do Java (I/O)

Reader do Java/Writer

Outros tópicos do Java

Método de uso e exemplo do clone() do Java HashMap

Métodos HashMap Java

O método clone() do Java HashMap cria uma cópia superficial da tabela hash e a retorna.

Aqui, cópia superficial significa que não se copiam as chaves e os valores. Em vez disso, copiam-se as referências para as chaves/referências de valor.

Sintaxe do método clone():

hashmap.clone()

Parâmetros do método clone()

O método clone() não possui parâmetros.

Retorno do método clone()

  • Retornar cópia da instância (objeto) do HashMap

Exemplo1:Criar cópia do HashMap

import java.util.HashMap;
class Main {
    public static void main(String[] args){
        // Criar HashMap
        HashMap<String, Integer> languages = new HashMap<>();
        languages.put("Java", 14);
        languages.put("Python", 3);
        languages.put("JavaScript", 1);
        System.out.println("HashMap: ", + languages);
        // Criar cópia de languages
        HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone();
        System.out.println("Cópia do HashMap: ", + cloneLanguages);
    }
}

Resultados de Saída

HashMap: {Java=14, JavaScript=1, Python=3}
Cópia do HashMap: {Java=14, JavaScript=1, Python=3}

No exemplo acima, criamos um mapeamento hash chamado languages. Observe a expressão

(HashMap<String, Integer>)languages.clone()

Aqui,

  • languages.clone() - Retornar uma cópia do objeto languages

  • (HashMap<String, Integer>) - Converter o objeto retornado por clone() para um HashMap com chaves do tipo String e valores do tipo Integer (para obter mais informações, acesseConversão de Tipos Java)

Exemplo2:Imprimir o valor de retorno de clone()

import java.util.HashMap;
class Main {
    public static void main(String[] args){
        // Criar hashmap
        HashMap<String, Integer> primeNumbers = new HashMap<>();
        primeNumbers.put("Two", 2);
        primeNumbers.put("Three", 3);
        primeNumbers.put("Five", 5);
        System.out.println("Números: " + primeNumbers);
        //Imprimir o valor retornado pelo clone()
        System.out.println("O valor retornado pelo clone(): " + primeNumbers.clone());
    }
}

Resultados de Saída

Números Primos: {Five=5, Two=2, Three=3}
O valor retornado pelo clone(): {Five=5, Two=2, Three=3}

No exemplo acima, criamos um mapeamento hash chamado primeNumbers. Aqui, imprimimos o valor retornado pelo clone().

Atenção:O método clone() não é específico da classe HashMap. Qualquer classe que implemente a interface Clonable pode usar o método clone().

Métodos HashMap Java