Você está aqui: Java ::: Coleções (Collections) ::: HashMap

Copiando todos os mapeamentos de um Map para outro HashMap

Quantidade de visualizações: 8055 vezes
Em algumas situações nós temos mapeamentos em coleções que implementam a interface Map e gostaríamos de copiar todos estes mapeamentos para um HashMap já existente. Isso pode ser feito por meio do uso do método putAll(), definido originalmente na interface Map. Veja sua assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public void putAll(Map<? extends K,? extends V> m)

Note que este método aceita qualquer coleção que implemente a interface Map ou herde de alguma classe que o faça. Note que, se houver chaves iguais nas duas coleções, o valor associado à chave pertencente à coleção cujos mapeamentos estão sendo copiados sobreporá o valor associado à chave já existente na coleção alvo da operação. Veja o exemplo abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    
    // vamos criar uma instância de HashMap
    HashMap<Integer, String> clientes = new HashMap<Integer, String>();

    // vamos adicionar três chaves e seus valores
    clientes.put(new Integer(1), "Osmar J. Silva");
    clientes.put(new Integer(2), "Salvador Miranda de Andrade");
    clientes.put(new Integer(3), "Marcos da Costa Santos");

    // vamos criar uma nova instância de HashMap
    HashMap<Integer, String> clientes2 = new HashMap<Integer, String>();

    // vamos adicionar três chaves e seus valores
    clientes2.put(new Integer(8), "Igor Bruno de Oliveira");
    clientes2.put(new Integer(2), "Maria Carvalho");
      
    // adicionar o segundo HashMap ao primeiro. Note que o segundo
    // HashMap contém uma chave similar a uma chave já existente no
    // primeiro HashMap
    clientes.putAll(clientes2);

    // vamos obter uma view dos mapeamentos do primeiro HashMap
    Set set = clientes.entrySet();

    // obtemos um iterador
    Iterator i = set.iterator();

    // e finalmente exibimos todas as chaves e seus valores
    while(i.hasNext()){
      Map.Entry entrada = (Map.Entry)i.next();
      System.out.println("Código: " + entrada.getKey() + 
        " - Cliente: " + entrada.getValue());
    }

    System.exit(0);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Topografia e Geoprocessamento ::: Passos Iniciais

Como converter graus, minutos e segundos para graus decimais em Java

Quantidade de visualizações: 410 vezes
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM.

Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte:

\[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \]

Veja agora o código Java completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
  
    // vamos pedir para o usuário informar os graus, minutos
    // e segundos
    System.out.print("Informe os graus: ");
    double graus = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe os minutos: ");
    double minutos = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe os segundos: ");
    double segundos = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular os graus decimais
    double grausDecimais = graus + (minutos /  60.0) +
      (segundos / 3600.0);
    
    // e agora mostramos o resultado
    System.out.println("Os graus decimais são: " + grausDecimais);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Informe os graus: 85
Informe os minutos: 42
Informe os segundos: 13.75
Os graus decimais são: 85.70381944444445

Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa

Quantidade de visualizações: 15878 vezes
Exercício Resolvido de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa

Pergunta/Tarefa:

Escreva um programa Java console ou GUI que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída:

Informe um valor inteiro de três dígitos: 753
O valor original é: 753
O valor invertido é: 357
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // vamos solicitar ao usuário que informe um valor inteiro
  // na faixa 100 a 999 (incluindo)
  System.out.print("Informe um valor inteiro de três dígitos: ");

  // vamos ler o valor informado
  int valor = Integer.parseInt(entrada.next());

  // vamos verificar se o valor está na faixa permitida
  if(valor < 100 || valor > 999){
    System.out.println("Valor fora da faixa permitida");
    System.exit(0);
  }

  // vamos criar uma variável temporária para manter intacto o valor lido
  int temp = valor;
  int inverso = 0; // guardará o valor invertido

  // vamos inverter o valor agora
  while(temp != 0){
    inverso = (inverso * 10) + (temp % 10);
    temp = temp / 10;
  }

  // vamos mostrar o resultado
  System.out.println("O valor original é: " + valor);
  System.out.println("O valor invertido é: " + inverso);
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Java - Como testar se um ano é bissexto em Java - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

Quantidade de visualizações: 2438 vezes
Pergunta/Tarefa:

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa Java que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar que o usuário informe um ano
    System.out.print("Informe o ano: ");
    int ano = Integer.parseInt(entrada.nextLine());
    
    // vamos verificar se o ano informado é bissexto
    if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){
      System.out.println("O ano informado é bissexto.");  
    }
    else{
      System.out.println("O ano informado não é bissexto.");  
    }
    
    System.out.println("\n");
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 52 usuários muito felizes estudando em nosso site.