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

Como excluir todos os elementos de uma ArrayList exceto aqueles contidos em outra ArrayList ou coleção

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

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

boolean retainAll(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
    // EXCETO aqueles contidos na segunda lista
    nomes.retainAll(nomes2);

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

    System.exit(0);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como adicionar um JPopupMenu a um JTextArea

Quantidade de visualizações: 9965 vezes
Neste exemplo mostrarei como é possível associar um JPopupMenu a um JTextArea. Dessa forma, quando clicarmos com o botão auxiliar na área de texto, nós teremos algumas opções de menu, tais como copiar, colar, selecionar tudo, etc.

Veja o resultado na imagem abaixo:



E aqui está 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 java.awt.event.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JPopupMenu popup;
  JMenuItem selecionar; 
  
  public Estudos() {
    super("Uso de JPopupMenu em um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    textArea = new JTextArea(10, 20);
    JScrollPane scrollPane = new JScrollPane(textArea);
     
    textArea.addMouseListener(
        new MouseAdapter(){
            @Override
            public void mouseReleased(MouseEvent e){
              if(e.isPopupTrigger())
                popup.show(e.getComponent(), e.getX(),
                  e.getY());
            }
        }   
    );
     
    // cria o JPopupMenu
    popup = new JPopupMenu();
    selecionar = new JMenuItem("Selecionar Tudo");
    selecionar.addActionListener(
        new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ev){
                textArea.requestFocus();
                textArea.selectAll();
            }
        }   
    );
     
    popup.add(selecionar);
    // fim menu
     
    c.add(scrollPane);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI

Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)

Quantidade de visualizações: 13817 vezes
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid).

Veja o código completo e divirta-se:

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

package arquivodecodigos;

import javax.sound.midi.*;
import java.io.*;
 
public class Estudos{
  public static void main(String args[]) {
    // nome do arquivo MIDI
    String arquivo = "amazing_grace.mid";
    
    if(!arquivo.endsWith(".mid")) {
      System.out.println("Este não parece ser um arquivo MIDI válido.");
      System.exit(1);
    }
    File midiFile = new File(arquivo);
    if(!midiFile.exists() || midiFile.isDirectory() || 
        !midiFile.canRead()) {
      System.out.println("Não foi possível acessar o arquivo indicado.");
      System.exit(1);
    }
     
    try{
      Sequencer seq = MidiSystem.getSequencer();
      seq.setSequence(MidiSystem.getSequence(midiFile));
      seq.open();
      seq.start();
       
      while(true){
        if(seq.isRunning()){
          try{
            Thread.sleep(1000);
          } 
          catch(InterruptedException ignore){
            break;
          }
        } 
        else{
          break;
        }
      }
       
      seq.stop();
      seq.close();
    } 
    catch(MidiUnavailableException mue){
      System.out.println("Dispositivo de MIDI indisponível");
    }
    catch(InvalidMidiDataException imde){
      System.out.println("Dados MIDI Inválidos");
    } 
    catch(IOException ioe){
      System.out.println("Erro de I/O");
    } 
  }  
}



Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games)

Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão console

Quantidade de visualizações: 6111 vezes
Faça o download do código-fonte Jogo da Velha em Java

Sobre o Jogo da Velha em Java

O Jogo da Velha, também conhecido como Tic-Tac-Toe, é um dos joguinhos mais fáceis de se programar em Java. Além disso, ele possibilita uma boa oportunidade de se entender matrizes, a estrutura switch, os laços for e while, assim como a estrutura básica presente em praticamente todos os games.

O Jogo da Velha em Java Console

Neste código fonte eu demonstro como o Jogo da Velha pode ser criado em Java usando o modo console, ou seja, em formato texto. Penso que o entendimento da lógica é mais fácil em modo console. Uma vez que você tenha aprendido todos os passos envolvidos, você poderá reproduzí-lo em modo gráfico sem muitas dificuldades.

A versão do jogo apresentado nesta dica é um jogador humano, ou seja, você, contra o computador. Não coloquei inteligência artificial nem aprendizado de máquina nos movimentos do computador. Usei apenas jogadas sorteadas. Fica como desafio você implementar jogadas inteligentes por parte do computador como forma de deixar o jogo ainda mais interessante. Por enquanto o objetivo é só o aprendizado mesmo.

Antes de continuarmos, veja uma imagem demonstrando o jogo:



Me mostra um pouco do código

Para mostrar a simplicidade do código, veja o método que registra a jogada do jogador humano:

// este método registra a jogada do jogador humano
private static void jogadaHumano(char[][] tabuleiro) {
  int jogada; // para registrar a jogada do jogador humano
	
  // repete até que a jogada seja válida
  while (true) {
    // lê a jogada do humano
    System.out.print("\nSua jogada (1 a 9): ");
    jogada = Integer.parseInt(entrada.nextLine());
    // este movimento é válido?
    if (movimentoValido(tabuleiro, jogada)){
      break;
    } 
    else{ // não é válido
      System.out.println("O número " + jogada + " não é um movimento válido.");
    }  
  }
 
  // vamos registrar esse movimento 
  registrarMovimento(tabuleiro, jogada, 'X');
}
Como posso obter este código fonte?

Os links para você baixar todas as versões deste projeto estão abaixo:

1) JOGOVELHAJC - Jogo da Velha em Java Console - NetBeans IDE - Faça o Download.

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 Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Raio Hidráulico

Ano: 2019 Banca: Instituto Consulplan Órgão: Prefeitura de Pitangueiras - SP Prova: Instituto Consulplan - 2019 - Prefeitura de Pitangueiras - SP - Engenheiro Civil

O Raio Hidráulico é a relação entre a área molhada e o perímetro molhado, sendo parâmetro importante no dimensionamento de canais, tubos, dutos e outros componentes das obras hidráulicas. Sua unidade no SI é o metro (m2/m = m). Na figura é ilustrado um canal trapezoidal aberto (figura A), e à sua direita (figura B) as dimensões de sua seção transversal em um determinado trecho do seu percurso.



Para a seção transversal do canal, assinale, a seguir, o valor do raio hidráulico.

A) 0,26 m.

B) 0,47 m.

C) 1,26 m.

D) 2,12 m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Escoamento laminar

Em escoamento laminar, a região de entrada do fluido é definida por um comprimento de entrada. Esse comprimento é compreendido entre quais distâncias?

A) Entre a região de entrada e a região de comportamento completamente desenvolvido.

B) Entre a região de entrada e a região de comportamento parcialmente desenvolvido.

C) Entre a região de entrada e a região de saída do escoamento.

D) Entre a região de comportamento completamente desenvolvido e a região de saída do escoamento.

E) Entre a região de entrada e a região com defeito de velocidade.
Verificar Resposta Estudar Cards Todas as Questões

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

A responsabilidade moral

Na relação moral e ética, pode-se perceber que, enquanto as inquietações com a esfera conceitual dos valores regentes do comportamento humano estão localizadas no âmbito da ética, as questões práticas desse campo pertencem à esfera da moral, que governa a alma de cada indivíduo. Portanto, diferenciar moral e ética significa dizer que:

A) moral é a aplicação da ética.

B) moral é a prática da ética em nossa sociedade.

C) não podemos diferenciar, pois são idênticas.

D) moral é o conjunto de valores, e ética é a reflexão dos mesmos.

E) moral e ética são antagônicas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

(TRE-MT - Analista Judiciário - Engenharia Civil) Em hidráulica, no que diz respeito à classificação dos escoamentos quanto à direção na trejetória das partículas, o escoamento pode ser

A) forçado.

B) laminar.

C) permanente.

D) livre.

E) transitório.
Verificar Resposta Estudar Cards Todas as Questões

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

Responsabilidade civil dos prepostos e preponentes

Com relação as definições do preposto, assinale a alternativa correta.

A) O preposto pode negociar por conta própria ou de terceiro, e participar indiretamente de operação idêntica a que lhe foi cometida.

B) O preposto não pode, sem autorização escrita, fazer-se substituir no desempenho da preposição, sob pena de responder pessoalmente pelos atos do substituto e pelas obrigações por ele contraídas.

C) Considera-se inválida a entrega de papéis, bens ou valores ao preposto, encarregado pelo preponente, se este os recebeu sem protesto.

D) As limitações contidas na outorga de poderes podem ser opostas a terceiros, dependem do arquivamento e averbação do instrumento no Registro Público de Empresas Mercantis.

E) No exercício de suas funções, os prepostos são pessoalmente responsáveis, perante terceiros, pelos atos culposos e atos dolosos.
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á 73 usuários muito felizes estudando em nosso site.