Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
Como excluir todos os elementos de uma ArrayList exceto aqueles contidos em outra ArrayList ou coleçãoQuantidade 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 JTextAreaQuantidade 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 consoleQuantidade 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'); } 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 |
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 |