Você está aqui: Java ::: Coleções (Collections) ::: Set (Conjunto)

Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntos

Quantidade de visualizações: 4449 vezes
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}.

Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:

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

package estudos;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Estudos{
  public static void main(String[] args) {
    // primeiro conjunto
    Set<Integer> conjuntoA = new TreeSet<>();
    conjuntoA.add(2);
    conjuntoA.add(5);
    conjuntoA.add(8);
    conjuntoA.add(19);
    conjuntoA.add(30);
    
    // segundo conjunto
    Set<Integer> conjuntoB = new TreeSet<>();
    conjuntoB.add(2);
    conjuntoB.add(3);
    conjuntoB.add(1);
    conjuntoB.add(30);
    
    // vamos obter a interseção dos dois conjuntos      
    Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB);        
    
    // vamos exibir os elementos no conjunto C
    Iterator iterator = conjuntoC.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
  
  // método genérico que permite obter a interseção de dois conjuntos
  public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){
    Set<T> conjC = new TreeSet<>();
    // percorremos todos os elementos do conjunto A
    for(T elemento: conjA){
      // e verificamos se o elemento está contido no conjunto B
      if(conjB.contains(elemento)){
        conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C 
      }
    }
    
    return conjC; // e retornamos o conjunto C
  }
}

Ao executarmos este código teremos o seguinte resultado:

2
30

Link para compartilhar na Internet ou com seus amigos:

Java ::: Coleções (Collections) ::: ArrayList

Como excluir de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção do Java usando o método removeAll()

Quantidade de visualizações: 10052 vezes
Em algumas situações pode ser útil sabermos como remover de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção. Para isso podemos usar o método removeAll(), que a classe ArrayList herda da interface java.util.List.

Veja sua assinatura:

boolean removeAll(Collection<?> c)


E agora veja um exemplo de seu uso:

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

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();

    // cria uma segunda ArrayList que conterá mais strings
    ArrayList<String> nomes2 = new ArrayList<String>();
    
    // adiciona itens na primeira lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Zacarias");    

    // adiciona itens na segunda lista
    nomes2.add("Maria");
    nomes2.add("Zacarias");    
	
    // vamos remover da primeira lista todos os elementos
    // contidos na segunda lista
    nomes.removeAll(nomes2);

    // vamos exibir o resultado
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    } 

    System.exit(0);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Um programa que lê duas notas, calcula a média aritmética e exibe uma mensagem de reprovado, exame ou aprovado

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

Escreva um programa Java que leia duas notas (como double), calcule e mostre a média aritmética e uma mensagem de acordo com as seguintes regras:

1) Se a média for inferior a 4,0 escreva "Reprovado";
2) Se a média for igual ou superior a 4,0 e inferior a 7,0 escreva "Exame";
3) Se a média for igual ou superior a 7,0 escreva "Aprovado".

Sua saída deverá ser parecida com:

Informe a primeira nota: 8
Informe a segunda nota: 7.4
A média obtida foi: 7.7
Aprovado
Resposta/Solução:

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

----------------------------------------------------------------------
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) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar as duas notas do aluno
    double n1, n2, media;
    System.out.print("Informe a primeira nota: ");
    n1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a segunda nota: ");
    n2 = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a média aritmética
    media = (n1 + n2) / 2;
    System.out.println("A média obtida foi: " + media);
    
    // vamos verificar se o aluno foi reprovado, está de exame ou aprovado
    if(media < 4.0){ // reprovado
      System.out.println("Reprovado");
    }
    else if((media >= 4.0) && (media < 7.0)){ // exame
      System.out.println("Exame");
    }
    else{
      System.out.println("Aprovado");  
    }
    
    System.out.println("\n");
  }
}



Java ::: Dicas & Truques ::: Mouse e Teclado

Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouse

Quantidade de visualizações: 31357 vezes
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho.

Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel.

O resultado é exibido na imagem abaixo:



E aqui está o código 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 java.awt.event.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Eventos do Mouse e Teclado");
 
    Container c = getContentPane();
    PainelDesenho painel = new PainelDesenho();
    c.add(painel, BorderLayout.CENTER);
    c.add(new JLabel("Arraste o mouse para desenhar..." ),
      BorderLayout.SOUTH );
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
class PainelDesenho extends JPanel{
  private int quantPontos = 0;
  private Point pontos[] = new Point[10000];
 
  public PainelDesenho(){
    this.setBackground(Color.WHITE);    
 
    this.addMouseMotionListener(
      new MouseMotionAdapter(){
        public void mouseDragged(MouseEvent e){
          if(quantPontos < pontos.length){
            pontos[quantPontos] = e.getPoint();
            quantPontos++;
            repaint();
          }                                              
        }                                
      }
    );
  }
 
  @Override
  public void paintComponent(Graphics g){
    super.paintComponent(g);
     
    for(int i = 0 ; i < quantPontos; i++)
      g.fillOval(pontos[i].x, pontos[i].y, 4, 4);
  }
}



Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

# cria uma string
palavra = "BRASIL"
print("A letra é: {0}".format(palavra(2)))

A) A letra é: A

B) Um erro TypeError: 'str' object is not callable

C) A letra é: R

D) Um erro SyntaxError: EOL while scanning string literal

E) A letra é: {0}
Verificar Resposta Estudar Cards Todas as Questões

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

Formas: Confecção e colocação

O concreto deve estar curado e liberado para a remoção das formas segundo recomendações técnicas. Quando não se utiliza concreto especial ou aditivo acelerador de pega, para vigas de pequeno vão, qual é o prazo mínimo para a retirada das formas inferiores, com a manutenção das principais escoras?

A) Cinco dias.

B) Sete dias.

C) Dez dias.

D) Quatorze dias.

E) Vinte e um dias.
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

A alvenaria é das mais antigas técnicas de construção. É também das mais ricas e variadas. Assinale abaixo a opção que não corresponde às "unidades de alvenaria", ou seja, às peças que não constituem a formação da alvenaria:

Selecione a resposta:

A) Tijolos cerâmicos maciços.

B) Blocos de pedra.

C) Blocos de concreto.

D) Tijolos cerâmicos vazados.

E) Peças de madeira.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual é a forma correta de se retornar o primeiro caractere de uma string em Python?

A) letra = "BRASIL".char(0)

B) letra = "BRASIL"[0]

C) letra = "BRASIL".substring(0, 1)

D) letra = "BRASIL".sub(0, 1)

E) letra = sub("BRASIL", 0, 1)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var a = (new Array(10)).toString();

Qual o valor da variável a após a execução desta linha de código?

A) a string "10".

B) um array de 10 strings vazias.

C) a string ",,,,,,,,,".

D) A instrução provoca um erro de execução.
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á 13 usuários muito felizes estudando em nosso site.