Java ::: Coleções (Collections) ::: HashMap |
Java Collections - Como usar a classe HashMap da linguagem JavaQuantidade de visualizações: 37417 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>
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. |
Java ::: Dicas & Truques ::: Threads |
Como usar uma thread Java para animar o título de uma janela JFrame do Java SwingQuantidade de visualizações: 11971 vezes |
|
Nesta dica mostro como podemos usar uma thread para substituir um timer em uma aplicação Swing. Ao executar este código você verá que o texto da barra de títulos da aplicação pisca continuamente enquanto o aplicativo estiver sendo executado. Veja a listagem para o exemplo:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso de threads em aplicações Swing");
// vamos criar a thread que fará o título da janela
// piscar continuamente
// vamos criar duas threads
MinhaThread t1 = new MinhaThread(this);
t1.start();
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// classe que usaremos como thread
class MinhaThread extends Thread{
private JFrame janela;
private String titulo;
public MinhaThread(JFrame janela){
this.janela = janela;
this.titulo = janela.getTitle();
}
public void run(){
try{
while(true){
if(janela.getTitle().equals(""))
janela.setTitle(titulo);
else
janela.setTitle("");
Thread.sleep(300);
}
}
catch(InterruptedException ex){
// precisa fazer nada aqui
}
}
}
Um detalhe interessante é que, ao ser colocada para dormir, a thread usada no exemplo permite que as demais threads da aplicação continuem suas execuções normalmente. Isso permite que a janela seja movida, redimensionada, minimizada, etc. Lembre-se sempre de usar o método Thread.yield() caso a thread criada estiver executando alguma ação demorada. Isso evitará que a janela do programa pareça congelada. |
C# ::: Namespace System.Windows.Forms ::: Formulários e Janelas |
Como definir uma imagem de fundo para um formulário C# Windows Forms usando a propriedade BackgroundImageQuantidade de visualizações: 14571 vezes |
|
Formulários Windows Forms podem conter uma imagem de fundo. Isso pode ser feito por meio da propriedade BackgroundImage. Em tempo de design, só precisamos clicar no formulário, acessar a janela de propriedades (Properties) e modificar o valor da propriedade BackgroundImage. Quando clicamos no botão ao lado do valor da propriedade, temos acesso à janela Select Resource. Deixe a opção Project resource file marcada e clique o botão Import. Selecione a imagem que você deseja usar e clique o botão OK. Imediatamente a imagem importada será aplicada ao fundo do formulário. É importante observar que esta forma de adicionar a imagem de fundo evita que tenhamos que enviar a imagem juntamente com nossa aplicação. Como a imagem importada fará parte do Resources da aplicação, ela será compilada e fará parte do .exe resultante. É possível também carregar uma imagem e colocá-la como fundo para um formulário em tempo de execução. Veja um trecho de código no qual carregamos uma imagem JPG localizada em uma pasta imagens no mesmo diretório do .exe da aplicação:
private void button2_Click(object sender, EventArgs e){
// using System.IO;
this.BackgroundImage = new Bitmap(Path.GetDirectoryName(
Application.ExecutablePath) + @"\imagens\foto.jpg");
}
|
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os elementos de um vetor de inteiros em C++Quantidade de visualizações: 17459 vezes |
Esta dica mostra a você como usar um laço for do C++ para somar todos os valores dos elementos de um vetor de inteiros. Observe que aqui nós declaramos e inicializamos o vetor (array) em apenas uma instrução:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// declara e inicializa um array de
// 5 inteiros
int valores[] = {2, 7, 1, 5, 6};
int soma = 0;
// soma os valores dos elementos
for(int i = 0; i < 5; i++){
soma += valores[i];
// o mesmo que
// soma = soma + valores[i];
}
// exibe o resultado
cout << "Soma: " << soma << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Soma: 21 |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do Python Delphi - Delphi para iniciantes - Como criar uma data e hora em Delphi usando a função EncodeDateTime() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Como usar a biblioteca Pandas do Python em seus projetos de Data Science e Machine Learning C - Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C C - Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




