Você está aqui: Java ::: Coleções (Collections) ::: HashMap |
Como retornar uma lista de todos os valores guardados em um HashMapQuantidade de visualizações: 8319 vezes |
Em algumas situações pode ser necessário obter uma lista de todos os valores guardados em um HashMap (apenas os valores, não as chaves). Para isso podemos usar o método:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public Collection<V> values() Este método retorna um objeto da interface Collection<V> contendo todos os valores no HashMap. Veja o trecho de código 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 obter a lista de valores no HashMap Collection lista = clientes.values(); // obtemos um iterador Iterator i = lista.iterator(); // vamos exibir os valores while(i.hasNext()){ System.out.println(i.next()); } System.exit(0); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Java - Geometria Analítica e Álgebra Linear usando JavaQuantidade de visualizações: 1712 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código Java que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); // vamos ler os valores x e y System.out.print("Informe o valor de x: "); double x = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o valor de y: "); double y = Double.parseDouble(entrada.nextLine()); // vamos calcular a norma do vetor double norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // mostra o resultado System.out.println("A norma do vetor é: " + norma); } } Ao executar este código nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 8958 vezes |
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate(). O resultado do código é refletido na imagem abaixo: E agora o código Java Swing completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.event.*; public class Estudos extends JFrame implements DocumentListener{ JTextArea textArea; JLabel aviso; public Estudos() { super("Detectando alterações em um JTextArea"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); textArea.getDocument().addDocumentListener(this); aviso = new JLabel("Aviso de alterações"); c.add(textArea); c.add(aviso); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void insertUpdate(DocumentEvent e) { aviso.setText("Aviso de Inserção: " + e.toString()); } public void removeUpdate(DocumentEvent e) { aviso.setText("Aviso de Remoção: " + e.toString()); } public void changedUpdate(DocumentEvent e) { // pode obter os dois anteriores aqui // aviso.setText("Aviso de Alteração: " + e.toString()); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operaçõesQuantidade de visualizações: 5760 vezes |
Exercícios Resolvidos de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações Pergunta/Tarefa: Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações: void armazenaPessoa(String nome, int idade, float altura); void removePessoa(String nome); int buscaPessoa(String nome); // informa em que posição da agenda está a pessoa void imprimeAgenda(); // imprime os dados de todas as pessoas da agenda void imprimePessoa(int index); // imprime os dados da pessoa que está na posição "i" da agenda. O código deverá ser desenvolvido em Java console (modo texto) e usar um menu switch() para as operações. Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Código para a classe Pessoa (Pessoa.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Pessoa { private String nome; private int idade; private double altura; // construtor cheio public Pessoa(String nome, int idade, double altura) { this.nome = nome; this.idade = idade; this.altura = altura; } // construtor vazio public Pessoa() { } // método que imprime todos os dados da pessoa public void imprimirDados(){ System.out.println("Nome: " + nome + "\nIdade: " + idade + "\nAltura: " + altura); } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public double getAltura() { return altura; } public void setAltura(double altura) { this.altura = altura; } } Código para a classe Agenda (Agenda.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Agenda { // vetor que guardará as pessoas private Pessoa pessoas[]; // construtor da classe Agenda public Agenda(int quantidade){ pessoas = new Pessoa[quantidade]; } public void armazenaPessoa(String nome, int idade, double altura){ // ainda temos posições disponíveis na agenda? boolean cadastrado = false; for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] == null){ // encontramos uma posição Pessoa p = new Pessoa(nome, idade, altura); // criamos uma nova pessoa // guardamos ela no vetor pessoas[i] = p; // e avisamos que o cadastro foi efetuado com sucesso cadastrado = true; break; // sai do laço } } if(cadastrado){ System.out.println("\nCadastro efetuado com sucesso"); } else{ System.out.println("\nNão foi possível cadastrar. Agenda cheia"); } } // método que permite pesquisar e excluir uma pessoa public void removePessoa(String nome){ // vamos verificar se a exclusão foi efetuada com sucesso boolean excluido = false; for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ // esta é a pessoa que estamos procurando? if(pessoas[i].getNome().equals(nome)){ pessoas[i] = null; // posição disponível novamente excluido = true; break; // sai do laço } } } if(excluido){ System.out.println("\nPessoa removida com sucesso"); } else{ System.out.println("\nNão foi possível remover. Pessoa não encontrada."); } } // informa em que posição da agenda está a pessoa public int buscaPessoa(String nome){ int resultado = -1; // vamos verificar se a pessoa existe na agenda for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ // esta é a pessoa que estamos procurando? if(pessoas[i].getNome().equals(nome)){ resultado = i; break; // sai do laço } } } return resultado; } // imprime os dados de todas as pessoas da agenda public void imprimeAgenda(){ // vamos percorrer o vetor de pessoas e imprimir cada uma for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ Pessoa p = pessoas[i]; System.out.println("\nNome: " + p.getNome()); System.out.println("Idade: " + p.getIdade()); System.out.println("Altura: " + p.getAltura()); } } } // imprime os dados da pessoa que está na posição "i" da agenda public void imprimePessoa(int index){ // este índice é válido? if((index < 0) || (index > (pessoas.length - 1))){ System.out.println("\nÍndice inválido"); } else{ Pessoa p = pessoas[index]; if(p == null){ System.out.println("\nNão existe pessoa nesse índice ainda."); } else{ System.out.println("\nNome: " + p.getNome()); System.out.println("Idade: " + p.getIdade()); System.out.println("Altura: " + p.getAltura()); } } } } Código para a classe Principal (Principal.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Principal { // para fazer a leitura da entrada do usuário static Scanner entrada = new Scanner(System.in); public static void main(String[] args) { // cria uma nova Agenda Agenda agenda = new Agenda(10); String nome; // nome da pessoa int idade; // idade da pessoa double altura; // altura da pessoa // cria o menu de opções while(true){ System.out.println("\n1. Nova Pessoa"); System.out.println("2. Excluir Pessoa"); System.out.println("3. Buscar Pessoa"); System.out.println("4. Imprimir Agenda"); System.out.println("5. Imprimir Pessoa (Índice)"); System.out.println("6. Sair"); System.out.print("Sua opção: "); int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: System.out.print("\nInforme o nome: "); nome = entrada.nextLine(); System.out.print("Informe a idade: "); idade = Integer.parseInt(entrada.nextLine()); System.out.print("Informe a altura (use ponto em vez de vírgula): "); altura = Double.parseDouble(entrada.nextLine()); agenda.armazenaPessoa(nome, idade, altura); break; case 2: System.out.print("\nInforme o nome a ser removido: "); nome = entrada.nextLine(); agenda.removePessoa(nome); break; case 3: System.out.print("\nInforme o nome a ser pesquisado: "); nome = entrada.nextLine(); int indice = agenda.buscaPessoa(nome); if(indice < 0){ System.out.println("\nA pessoa não foi encontrada"); } else{ System.out.println("\nA pessoa foi encontrada no índice: " + indice); } break; case 4: agenda.imprimeAgenda(); break; case 5: System.out.print("\nInforme o índice desejado: "); int index = Integer.parseInt(entrada.nextLine()); agenda.imprimePessoa(index); break; case 6: System.exit(0); default: System.out.println("\nOpção inválida\n"); break; } } } } |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares intermediários O pilar P6 é classificado como pilar intermediário porque as vigas são contínuas sobre o pilar, não originando flexão importante que deva ser considerada no cálculo do pilar. Considerando que a largura do pilar seja de 14cm, o coeficiente de majoração da carga yn é 1,25. Dados: Nk = 600kN lex = ley = 280cm Qual é a força normal de cálculo? A) 750kN. B) 1.050kN. C) 700kN. D) 690kN. E) 840kN. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Perda de Carga Localizada, Acessórios de Tubulação Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?". Qual o valor do fator de atrito f na tubulação anteriormente citada? Qual valor do somatório de Ks tornaria a perda de carga singular idêntica à perda de carga linear? A) 0,66 e 66,2. B) 0,066 e 66,2. C) 0,132 e 66,2. D) 0,066 e 132,4. E) 0,132 e 132,4. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Evolução das estruturas O concreto armado, no qual barras de aço são inseridas nas peças de concreto, foi desenvolvido na década de 1850. A junção do aço ao concreto contribui na melhoria do desempenho estrutural do concreto em relação à: Selecione a resposta: A) Resistência à compressão. B) Resistência à tração. C) Resistência à umidade. D) Resistência ao fogo. E) Resistência à infiltração. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
O manômetro Um manômetro é o instrumento utilizado para medir a pressão de fluidos contidos em recipientes fechados. O manômetro para medição da pressão absoluta é usado quando pressões devem ser medidas, independentemente da pressão atmosférica. A pressão do meio medido é determinada contra uma pressão de referência, sendo que esta última corresponde ao ponto zero da pressão absoluta. Nesse contexto, determine a pressão manométrica em P devido à deflexão do mercúrio do manômetro em U da figura a seguir. A) Aproximadamente 77kPa. B) Aproximadamente 89kPa. C) Aproximadamente 94kPa. D) Aproximadamente 106kPa. E) Aproximadamente 111kPa. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Reservatórios Um reservatório é dimensionado com diversos componentes que auxiliam na manutenção e limpeza do mesmo. Sobre os componentes acessórios de um reservatório é correto afirmar: A) A tubulação extravasora deve ter o mesmo diâmetro da tubulação de alimentação do reservatório. B) A tubulação de limpeza deve estar posicionada acima da saída da distribuição predial. C) Em pequenas edificações, com reservatórios de 500 litros, não é necessária a instalação de tubulação de limpeza. D) A tubulação extravasora deve jogar a água em local visível para alertar sobre o extravasamento do reservatório. E) É obrigatória a instalação de registro na saída da tubulação extravasora. Verificar Resposta Estudar Cards Todas as Questões |
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 |
Software 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 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 |