Você está aqui: Java ::: Pacote java.util.stream ::: Arrays e Matrix (Vetores e Matrizes)

Como encontrar valores duplicados em um array em Java usando as Streams do Java 8

Quantidade de visualizações: 420 vezes
Encontrar valores repetidos em um vetor é uma das tarefas mais corriqueiras no dia-a-dia de um programador Java. Nesta dica mostrarei como esse problema pode ser resolvido usando as Java 8 Streams.

Veja um código Java completo no qual encontramos os elementos duplicados em um array de inteiros:

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

package estudos;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;

public class Estudos {
  public static void main(String[] args) {
    // vamos declarar um array de inteiros
    int[] valores = new int[] {6, 3, 8, 4, 6, 2, 3, 1, 3};
    System.out.println("Os valores do array são: " + 
      Arrays.toString(valores));
    
    // agora vamos declarar um Set para os elementos únicos
    Set<Integer> unicos = new HashSet<>();
    // e um Set para os elementos duplicados
    Set<Integer> duplicados =  Arrays.stream(valores)
                                     .filter(i -> !unicos.add(i))
                                     .boxed()
                                     .collect(Collectors.toSet());
    
    // e mostramos o resultado
    System.out.println("Os elementos duplicados são: " +
      duplicados);
  }
}

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

Os valores do array são: [6, 3, 8, 4, 6, 2, 3, 1, 3]
Os elementos duplicados são: [3, 6]

Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de Java - Escreva um algoritmo Java que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês

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

Escreva um algoritmo Java que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e o salário no final do mês.

Sua saída deverá ser parecida com:

Nome do vendedor: CAMILA REIS
Informe o salário fixo: 1850
Total de vendas efetuadas: 5000

Resultados:

Nome do vendedor: CAMILA REIS
Salário fixo: 1850.0
Salário final do mês: 2600.0
Resposta/Solução:

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

----------------------------------------------------------------------
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 ler o nome do vendedor
    System.out.print("Nome do vendedor: ");
    String nome = entrada.nextLine();
    
    // vamos ler o salário fixo
    System.out.print("Informe o salário fixo: ");
    double salario_fixo = Double.parseDouble(entrada.nextLine());
    
    // vamos o total de vendas efetuadas pelo vendedor
    System.out.print("Total de vendas efetuadas: ");
    double total_vendas = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular o total da comissão a ser paga
    double total_comissao = total_vendas * (15.0 / 100.0);
    
    // calculamos o salário final
    double salario_final = salario_fixo + total_comissao;
    
    // e mostramos os resultados
    System.out.println("\nResultados:\n");
    System.out.println("Nome do vendedor: " + nome);
    System.out.println("Salário fixo: " + salario_fixo);
    System.out.println("Salário final do mês: " + salario_final);
  }
}



Java ::: Pacote java.awt.image ::: BufferedImage

Como desenhar um BufferedImage em um JComponent do Java

Quantidade de visualizações: 10834 vezes
Neste exemplo nós usamos o método drawImage() da classe Graphics para desenhar o conteúdo de um BufferedImage (que contém uma imagem JPG) em uma JFrame do Java Swing:

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

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  
  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          imagem = null;
          
          try{
            imagem = ImageIO.read(
              new File("imagens/fundo.jpg"));
          }
          catch(IOException exc){
            JOptionPane.showMessageDialog(null, 
              "Erro ao carregar a imagem: " + 
              exc.getMessage());
          }

          if(imagem != null){
            desenhar();   
          }
        }
      }
    );

    c.add(btn);
    	
    setSize(400, 300);
    setVisible(true);
  }

  public void desenhar(){
    // desenha a imagem no JFrame
    Graphics g = getGraphics();   
    g.drawImage(imagem, 0, 0, this);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Java para iniciantes - Como usar o tipo de dados boolean em seus códigos Java

Quantidade de visualizações: 22492 vezes
O tipo de dados boolean representa dois valores lógicos representados pelos literais true ou false. Valores boolean são produzidos pelos operadores relacionais (<, <=, > e >=), condicionais (&& e ||), lógicos (& e |) e de igualdade (== e !=) e são usados para gerenciar o fluxo de controle durante a execução do programa.

Veja um trecho de código exemplificando o uso deste tipo de dados:

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

public class Estudos{
  public static void main(String args[]){
    boolean continuar = true;
    
    if(continuar == true){
      System.out.println("Podemos continuar.");
    }
    else{
      System.out.println("Vamos parar.");
    }    
    
    System.exit(0);
  }
}

Quando quisermos testar se o valor de uma variável ou constante do tipo boolean é true, podemos omitir o operador e o literal. Veja:

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

if(continuar){
  System.out.println("Podemos continuar.");
}

O mesmo vale para a negação:

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

if(!continuar){
  System.out.println("Podemos parar.");
}



Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Alvenaria: Técnicas construtivas

As alvenarias possuem espessuras variáveis, e o posicionamento dos tijolos ou blocos é item do projeto que influencia no desempenho da edificação e no isolamento térmico e acústico, por exemplo. Quando a alvenaria é erguida tendo tijolo maciço no sentido de sua menor espessura, denomina-se alvenaria de:

A) Meio tijolo.

B) Um tijolo.

C) Cutelo.

D) Um tijolo e meio.

E) Oca.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Serviços preliminares e instalações provisórias

Precisa-se produzir 600.000 m3 de concreto para a construção de uma barragem no prazo de 3 (três) anos. Para isso, as centrais de concreto deverão produzir durante 2.676,63 h/ano. A alternativa que especifica a capacidade da central de concreto que deverá ser utilizada na obra é (caso não encontre valor igual à capacidade disponível no mercado, considere a de valor imediatamente superior):

A) 45 m3/h.

B) 30 m3/h.

C) 130 m3/h.

D) 100 m3/h.

E) 80 m3/h.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

(UFT 2013) A ocorrência de desmatamentos nas margens do rio Paraíba do Sul é o principal processo responsável pelo assoreamento. Sua vegetação encontra-se bastante alterada devido às diversas formas de ocupação e uso do solo, que resultaram em processos de erosão e assoreamento.

TERRA, L. et al. Conexões: Estudos de Geografia Geral e do Brasil, 2010, p. 248, vol I e II.

Os trechos percorridos por um rio que correspondem respectivamente à jusante e à montante são as:

A) áreas da nascente e da desembocadura do rio.

B) áreas das vertentes direita e esquerda do rio.

C) áreas onde os rios se encontram com o mar.

D) áreas da desembocadura e da nascente do rio.

E) áreas das vertentes esquerda e direita do rio.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var a = new Array();
var b = new Array();
a[1] = 3;
b[2] = 5;
a = b;

Quais valores estão contidos em a[1] e a[2] depois da execução deste código?

A) a[1] é 3 e a[2] é 5.

B) a[1] é indefinido e a[2] é 5.

C) ambos a[1] e a[2] são indefinidos.

D) A execução deste código provoca um erro.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Introdução à Ética

Na modernidade, o conceito de ethos passa a refletir as transformações sociais, culturais e filosóficas desse período, profundamente influenciado pela dissolução do absolutismo e pelas revoluções liberais. A compreensão do ethos como caráter moral é então recontextualizada, influenciada pelas rupturas que reorganizam as sociedades.

Considerando as transformações sociais, políticas e produtivas desse período, como o ethos se manifesta no contexto?

Selecione a resposta:

A) Inalterado, mantendo características morais tradicionais.

B) Ênfase na tradição e conservadorismo com resistência às mudanças e rupturas.

C) Rejeição total das normas coletivas e valorização do individualismo.

D) Teoria filosófica sem conexões com as aplicações morais práticas.

E) Reflete as transformações sociais, políticas, econômicas, culturais e/ou filosóficas.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, 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



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