Ajuda para fazer um programa em java hashmap não estou conseguindo alguem pode me ajudar?

  • Primeira parte da atividade

Crie um programa em java que armazene em uma tabela com HashMap o nome dos estados brasileiros.

Utilize como chave a sigla do estado (SC, PR, RG, SP, MG, …).

Mostre na tela o conteúdo da tabela utilizando os métodos get() e KeySet().

Valide se a ordem de impressão dos dados é a mesma em que estes foram inseridos na tabela. O que podemos alterar para que seja exibido em ordem?

Insira um novo registro, com a chave “SC” e o valor (nome) “Santa e Bela Catarina”, re-exiba na tela o conteúdo da tabela utilizando os métodos get() e KeySet(). “SC” foi exibida 2 vezes?

Insira um novo registro, com a chave XX e o nome do estado null, o sistema aceitou a inserção?

Insira um novo registro, com a chave null e o nome do estado Teste, o sistema aceitou a inserção?

Utilize o método values() para verificar se todos os pares key-value (chave-valor) são exibidos.

— Fim da primeira parte da atividade

— Segunda parte da atividade

Desenvolva um novo programa java, com o mesmo objetivo do programa da primeira parte, mas agora, ao invés de salvar o nome do estado, crie uma TAD Estado com os parâmetros de descricao e numHabitantes, então armazene como chave da HashMap a UF e como value o objeto instanciando a classe Estado.

Acho que ninguém aqui no GUJ vai fazer para você o exercício.

Mais fácil você começar e vir tirar suas dúvidas postando os trechos de códigos em que está com dificuldades.

ok

achei que pudessem me ajudar
não estou fazendo nenhum curso no genero somente curiosidade mas se não podem me ajudar ok

Mostre o que você já fez

1 curtida

eu não fiz nada pois como ja disse não estou fazendo nenhum curso do genero no entanto não sei nada sobre programação somente peguei um post da internet e coloquei aqui soa titulo de curiosidade mesmo.

obrigado

do pouco que li este codigo aqui abaixo e parecido com o enunciado que postei acima?
para fazer o codigo da parte escrita acima é desta forma que devo fazer?

public static void main(String[] args) {
    // TODO code application logic here
    
    Map<String, String> disciplinas = new HashMap();
    
    disciplinas.put("DADII","Anderson");
    disciplinas.put("DADI","Kobs");
    disciplinas.put("BAN","Vivian");
    disciplinas.put("PROGII","Tamanini");
    disciplinas.put("PROGIII","Carlos");
    
    System.out.println("Todos os valores: " + disciplinas.values());
    
    String chaveBusca = "BAN";
    
    if(disciplinas.containsKey(chaveBusca)){
        String professor = disciplinas.get(chaveBusca);
        System.out.println("O professor(a) é: " + professor);
    }else{
        System.out.println("Não achou...");
    }
    
    for(String disciplina : disciplinas.keySet()){
        String professorAux = disciplinas.get(disciplina);
        System.out.println("O professor(a) de " + disciplina + " é: " + professorAux);
    }
    
}

}

Como estou aprendendo achei interessante a proposta.

Olha abaixo as constatações:

package crisis;
import java.util.HashMap;
import java.util.Map;

public class Crisis {

public static void main(String[] args) {

    Map<String, String> estados = new HashMap<>();
    //armazene em uma tabela com HashMap o nome dos estados brasileiros.
    estados.putIfAbsent("SE", "Sergipe");//só adiciona chaves inéditas
    estados.put("AL", "Alagoas");//adiciona chave e valor, ou altera o valor associado à chave(caso esta seja pré-existente)
    estados.putIfAbsent("SP", "São Paulo");
    estados.putIfAbsent("RJ", "Rio de Janeiro");
    //Mostre na tela o conteúdo da tabela utilizando os métodos get() e KeySet().
    visualisar(estados);
    /*Valide se a ordem de impressão dos dados é a mesma em que estes foram inseridos na tabela. 
    O que podemos alterar para que seja exibido em ordem?*/
    //R: O hashMap natural não assegura a ordem de inserção, opção, implementar o Comparator ou usar o LinkedHashMap

    /*Insira um novo registro, com a chave "SC" e o valor (nome) "Santa e Bela Catarina",
    re-exiba na tela o conteúdo da tabela utilizando os métodos get() e KeySet(). "SC" foi exibida 2 vezes?*/
    //R: Map não aceita chaves duplicadas, por isso SC só será exibida uma vez
    estados.put("SC", "Bela Santa Catarina");// soa mais agradável
    visualisar(estados);
    //Insira um novo registro, com a chave XX e o nome do estado null, o sistema aceitou a inserção?
    //R: o valor pode ser null
    estados.put("XX", null);
    //Insira um novo registro, com a chave null e o nome do estado Teste, o sistema aceitou a inserção?
    //R: a chave pode ser null, contudo a comparação de null com outro valor deve ser bem pensada para evitar futuramente problemas com nullPointerException
    estados.put(null, "Teste");
    visualisar(estados);
    //Utilize o método values() para verificar se todos os pares key-value (chave-valor) são exibidos.
    //R: values só retorna os valores que estão relacionados com as chaves
    estados.values().forEach(System.out::println);
    //a parte dois é de outra relevância por isso sem necessidade demonstração

}

private static void visualisar(Map<String, String> estados) {
    for (String chave : estados.keySet()) {
        System.out.println(chave + ": " + estados.get(chave));
    }
    System.out.println("\n==========================\n");
}

}

Acho isso meio estranho.
Tudo o que fazemos envolve lógica.

Ex.:
Algoritimo “quero sanar dúvida”:
1 - Vi um post;
2 - Não sei programar;
3 - pensar numa uma solução;
4 - procurar quem sabe;
5 - postar o que vi no guj;
6 - aguardar resposta;
7 - validar resposta.
8 -
se satisfatória então
…solução encontrada;
…senao
…se pode esperar entao
…volte para instrucao da linha 6
…senao
…escolha:
…1-desistir da solucao
…interrompa a(s) escolha(s) em seguida
…2-encontrar uma solução sozinho
…interrompa a(s) escolha(s) em seguida
…3-procurar outras fontes
…fimescolha
…fimse
fimse
fimalgoritimo

Neste ponto voce encontrou uma solução para a sua postagem ou para a sua necessidade em um conjunto finito de instruções, onde a ordem de execução é fundamental.

Pensar nos empecilhos e nas soluções faz parte de programar, faz parte da vida.
Por isso acho estranho alguém que não sabe programar.

Programe seu passeio à praia,o que fazer e em que ordem.
Quer algo mais perigoso do que programar sua saida de casa ao trabalho hoje em dia, principalmente nas grandes cidades.

Agora saber uma linguagem de programação é outra história.
Ex.: é como aprender outro idioma, só que para máquinas, pois a linguagem é uma forma de comunicação e a lógica permite encontrar soluções.

Para pensar igual, as vezes pensamos diferente.