Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Coleções (Collections) ::: HashMap

Java Collections - Como usar a classe HashMap da linguagem Java

Quantidade de visualizações: 36842 vezes
A classe HashMap, do pacote java.util, é uma das principais implementações da interface Map. Além de fornecer todas as operações opcionais de um map, esta classe permite a inserção de chaves e valores com o valor null. Em realidade, a classe HashMap é bem similar à classe Hashtable, com a diferença que HashMap não é sincronizada (tenha cuidado ao usuá-la em ambiente de múltiplas threads) e permite valores e chaves null.

Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.AbstractMap<K,V>
    java.util.HashMap<K,V>
Esta classe implementa ainda as interfaces Serializable, Cloneable e Map<K,V>. Algumas sub-classes conhecidas são LinkedHashMap e PrinterStateReasons.

O uso principal da classe HashMap é quando queremos associar chaves e valores e, posteriormente, recuperar valores baseados em suas chaves. Veja um exemplo no qual temos cidades e habitantes:

package arquivodecodigos;

import java.util.*;
 
public class Estudos{
  @SuppressWarnings("unchecked")
  public static void main(String[] args){
     
    // cria uma nova instância de HashMap
    HashMap cidadesHabitantes = new HashMap();
     
    // vamos adicionar algumas chaves e seus valores
    cidadesHabitantes.put("Goiânia", new Integer(4334598));
    cidadesHabitantes.put("São Paulo", new Integer(49282768));
    cidadesHabitantes.put("Brasília", new Integer(96736887));   
  
    // vamos obter uma view dos mapeamentos
    Set set = cidadesHabitantes.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("Chave: " + entrada.getKey() + 
        " - Valor: " + entrada.getValue());
    }
 
    System.exit(0);
  }
}

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

Chave: Goiânia - Valor: 4334598
Chave: Brasília - Valor: 96736887
Chave: São Paulo - Valor: 49282768

Uma observação importante em relação à classe HashMap é que esta não honra nenhuma ordem específica de seus elementos, ou seja, a ordem dos pares chave-valor em uma operação de exibição pode ser bem diferente da ordem de inserção.

Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a distância entre dois pontos no plano em Python - Python para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 9550 vezes
Como calcular a Distância Euclidiana entre dois pontos usando Python.

Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Python, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço).

Comece analisando a imagem abaixo:



Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y).

Veja a fórmula:

\[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\]

Agora, jogando os valores dos dois pontos da fórmula nós teremos:

\[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\]

Que resulta em 6,32 (aproximadamente).

E agora veja o código Python completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:

import math

# função que permite calcular a distância
# entre dois pontos no plano (R2)
def distancia2d(x1, y1, x2, y2):
  a = x2 - x1
  b = y2 - y1
  c = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
  return c

# função principal do programa
def main():
  # vamos ler os dados do primeiro ponto
  x1 = float(input("Informe o x do primeiro ponto: "))
  y1 = float(input("Informe o y do primeiro ponto: "))
    
  # vamos ler os dados do segundo ponto
  x2 = float(input("Informe o x do segundo ponto: "))
  y2 = float(input("Informe o y do segundo ponto: "))
    
  # vamos obter a distância entre eles
  distancia = distancia2d(x1, y1, x2, y2)
  print("Distância entre os dois pontos: %0.2f" % distancia);
  
if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

Informe o x do primeiro ponto: 3
Informe o y do primeiro ponto: 6
Informe o x do segundo ponto: 9
Informe o y do segundo ponto: 4
Distância entre os dois pontos: 6.32


PHP ::: Sistemas Completos com Código Fonte ::: Controle de Estoque

Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades

Quantidade de visualizações: 20521 vezes
Como escrever um Controle de Estoque em PHP e MySQL do zero?

Promoção Relâmpago: Este código fonte está disponível gratuitamente para os apoiadores do site. Chama no WhatsApp +55 (062) 98553-6711 para mais detalhes

Sim, é isso mesmo. Você já imaginou o trabalho que dá criar um sistema de Controle de Estoque do zero? Você já pensou na quantidade de horas de trabalho que isso envolve? Não seria bom já ter boa parte do sistema já desenvolvido e você implementar apenas mais algumas poucas funcionalidades? A resposta está no código fonte que desenvolvemos para você nessa seção.

Comece analisando a imagem a seguir:



Nesta tela inicial podemos ver que o sistema é composto de cadastro de usuários, de categorias de produtos, um cadastro de fornecedores e um cadastro de produtos. Tanto o cadastro de produtos quanto o cadastro de fornecedores permitem inserir imagens, incluindo o recorte de imagens, para deixar todas as imagens com o mesmo tamanho e mesma resolução. Isso é importante, pois permite que qualquer usuário com conhecimento básico de informática consiga escolher uma imagem no computador, fazer o upload, recortar e salvar no diretório de imagens do programa.

Na tela inicial podemos ver também a quantidade de produtos e itens cadastrados no estoque, a quantidade de produtos com estoque zero e estoque mínimo, assim como o investimento feito no estoque, o retorno e a margem de lucro.

O sistema é responsivo?

Sim, por ter sido escrito em Bootstrap, todas as páginas do sistema são responsíveis, ou seja, se adaptam à tela do computador e também do celular. Veja:



Neste código fonte nós usamos o Bootstrap 5, mas você conseguirá, com pouca ou nenhuma modificação, rodá-lo nas versões anteriores. No entanto, como estamos o tempo todo melhorando este código para nossos clientes, é bem provável que teremos versões compatíveis com as novas versões do Bootstrap. Ah, e não se preocupe, todo o código Bootstrap, jQuery, Choise.js, Datatable, e outros scripts necessários estão devidamente colocados nos diretórios do sistema, não havendo a necessidade de baixar nada, nem mesmo usar CDNs.

As telas do sistema obedecem um padrão de design?

Sim, o design das telas é bem consistente, exibindo uma combinação de cores muito agradáveis aos olhos. Veja:



Aqui nós o temos o Cadastro de Usuários do Sistema. Como se pode ver, é possível adicionar uma foto para cada usuário, com a opção de recortar a imagem antes de efetuar o download da mesma. Além disso, os usuários possuem níveis de acesso. O usuário admin possui os maiores privilégios. Os demais usuários podem ter permissões para cadastrar, alterar, excluir, ou somente cadastrar, ou somente visualizar, etc.

O sistema mantém um registro de log para cada ação efetuada. Dessa forma, o admin saberá, com apenas um clique, quem cadastrou, alterou ou excluiu dados do sistema.

Como o sistema controla a entrada e saída de produtos no estoque?

Veja a seguinte imagem:



Aqui nós temos o cadastro dos produtos, assim como suas fotos, as quais o usuário poderá recortar antes de fazer o upload. Note que a entrada no estoque solicita um fornecedor e a lista de produtos que farão parte da entrada. Assim que a entrada no estoque é confirmada, o valor de compra de cada produto é atualizado, assim como seu estoque. Na saída de estoque o sistema verifica se há estoque suficiente para as retiradas.

O sistema é fácil de instalar?

Sim, junto com o código fonte nós adicionamos instruções detalhadas de como criar a base de dados e as tabelas do MySQL. Em seguida você só precisa ajustar o servidor, usuário e senha do banco de dados no arquivo config.php, definir o caminho para os uploads das fotos dos usuários, fornecedores e produtos e executar o index.php. E o melhor de tudo: como apenas alguns "copiar-colar" você adiciona mais funcionalidades ao sistema, tornando-o ainda mais útil.

Como posso obter este código fonte?

Para adquirir este código fonte, me chama no WhatsApp +55 (062) 9 8553-6711 ou no e-mail osmar@arquivodecodigos.com.br. Se necessário podemos combinar e faço a instalação na sua máquina ou no seu domínio. Podemos também combinar as alterações ou a adição de novas funcionalidades.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto PHP do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.

Para quem deseja ver o sistema funcionando antes de fazer o download, colocamos uma demonstração no link abaixo (Usuário "admin" e senha "admin"):

Clique aqui para visualizar a demonstração (Live Demo) desse sistema


Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar casas decimais para baixo usando a função Floor() do Delphi

Quantidade de visualizações: 13449 vezes
A função Floor(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para baixo, ou seja, para o maior inteiro menor ou igual ao valor fornecido. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  valor: Real;
  resultado: Integer;
begin
  // uses Math

  valor := 8.74;

  // vamos arredondar o valor para baixo
  // o resultado será 8
  resultado := Floor(valor);

  // exibe o resultado
  ShowMessage('O valor arredondado para baixo é: ' +
    IntToStr(resultado));
end;

Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 8. No entanto, 9.0 é arredondado para 9.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: VCL - Visual Component Library ::: TComboBox

Como usar a propriedade Count da coleção Items para obter a quantidade de itens em um TComboBox em Delphi

Quantidade de visualizações: 11652 vezes
Em algumas situações precisamos obter a quantidade de itens em um ComboBox. Para isso podemos usar a propriedade Count da coleção Items (um objeto da classe TStrings e que representa os itens do combo box). Esta propriedade retorna um valor inteiro.

Veja como podemos obter a quantidade de elementos em um ComboBox ao clicarmos em um botão:

procedure TForm3.Button1Click(Sender: TObject);
begin
  // vamos adicionar alguns itens ao ComboBox
  ComboBox1.Items.Add('Java');
  ComboBox1.Items.Add('C++');
  ComboBox1.Items.Add('Python');

  // vamos obter a quantidade de itens no ComboBox
  ShowMessage('O ComboBox possui '  + IntToStr(ComboBox1.Items.Count) +
    ' itens.');
end;

Ao executar este código teremos uma mensagem com o texto:

O ComboBox possui 3 itens.


C ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço while em C - Linguagem C para iniciantes em programação

Quantidade de visualizações: 33086 vezes
O laço while é usado quando queremos que um bloco de instruções seja executado ENQUANTO uma condição for verdadeira (true). Veja um trecho de código exemplificando isso:

 
int valor = 1;

while(valor <= 10){
  printf("%d  ", valor);
  valor++;
}

Este trecho de código exibe os números de 1 à 10 na página. Veja agora o mesmo trecho de código, desta vez contando de 10 à 1:

int valor = 10;

while(valor >= 1){
  printf("%d  ", valor);
  valor--;
}

Lembre-se de que a condição testada em um laço while deve resultar em um valor boolean (true ou false). O trecho de código seguinte deixa isso mais claro:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int continuar = 1; // 1 é true em C
  int valor = 1;

  while(continuar){
    printf("%d  ", valor);
    valor++;

    if(valor > 10)
      continuar = 0; // 0 é false em C
  }

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Para finalizar, lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada na primeira iteração já resultar false, o fluxo de código é transferido para a primeira instrução após o laço.


Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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