Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Removendo todos os elementos de um Vector que estejam contidos em uma outra coleção (Vector, ArrayList, Stack, etc)

Quantidade de visualizações: 7868 vezes


O método removeAll() da classe Vector permite a remoção de todos os elementos de um Vector que estejam também contidos em uma outra coleção. Tal coleção pode ser Vector, ArrayList, Stack, etc. Veja sua assinatura:
public boolean removeAll(Collection<?> c)
Veja que podemos fornecer qualquer objeto de classes que implementam a interface Collection. O retorno será um valor boolean especificando o sucesso ou não da operação. Eis um exemplo:
import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // Cria um Vector
    Vector<String> nomes = new Vector<String>();
    // adiciona itens ao Vector
    nomes.addElement("Osmar");
    nomes.addElement("Marcos");
    nomes.addElement("Ingrid");
    nomes.addElement("Jorge");
    nomes.addElement("Salvador");
    nomes.addElement("Andre");

    // cria um ArrayList
    ArrayList<String> maisNomes = new ArrayList<String>();
    maisNomes.add("Marcos");
    maisNomes.add("Ingrid");
    maisNomes.add("Jorge");

    // vamos excluir todos os elementos do Vector
    // que também estão contidos no ArrayList
    if(nomes.removeAll(maisNomes)){
      System.out.println("Elementos removidos com" +
        " sucesso.");
    }
    else{
      System.out.println("Nao foi possivel remover" +
        " os elementos.");
    }

    // vamos exibir os elementos do Vector
    for(String nome : nomes)
      System.out.println(nome);
  } 
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Data e Hora

Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString()

Quantidade de visualizações: 199 vezes
Nesta dica mostrarei como criar um novo objeto da classe Date, do pacote java.util, e usar seu método toString() para exibir a data e hora atual no formato "dia da semana/mês/dia do mês"...etc.

Veja o código completo abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import java.util.Date;
 
public class Exemplo{
    public static void main(String args[]){
       Date data = new Date(); 
       System.out.println(data.toString()); 
    }
}

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

Mon Mar 08 22:13:15 BRT 2019


Java ::: Java para Engenharia ::: Hidrologia e Hidráulica

Como calcular o volume de chuvas em Java - Fórmula do cálculo do volume de chuvas em Java

Quantidade de visualizações: 299 vezes
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa?

O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros.

Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula:

\[\text{Volume} = \text{(Área da Base) x Altura}\]

Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros.

Veja agora o código Java completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros.

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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 pedir para o usuário informar a altura da lâmina
    // de água em milímetros
    System.out.print("Altura da lâmina de água em milímetros: ");
    double altura_lamina = Double.parseDouble(entrada.nextLine());

    // o primeiro passo é converter os milímetros da lâmina de água
    // para metros
    altura_lamina = altura_lamina / 1000.00;

    // agora que já temos a altura da lâmina em metros, vamos multiplicar
    // pela base (1 metro quadrado) para obtermos o volume da chuva por
    // metro quadrado
    double volume_chuva = (altura_lamina * 1.00) * 1000.00;

    // vamos mostrar o resultado
    System.out.println("O volume da chuva é: " + volume_chuva +
      " litros para cada metro quadrado");
  }
}

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

Altura da lâmina de água em milímetros: 229
O volume da chuva é: 229.0 litros para cada metro quadrado

Qual é o volume de 1 mm de chuva?

A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros.

O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2.

1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2.


Java ::: Classes e Componentes ::: JTable

Java Swing - Como excluir linhas de uma JTable em tempo de execução usando o método removeRow() da classe DefaultTableModel

Quantidade de visualizações: 15871 vezes
Nesta dica mostrarei como é possível excluir uma determinada linha de uma JTable usando o método removeRow() da classe DefaultTableModel. Veja que mostro também como inserir novas linhas na JTable usando o método insertRow().

Veja o resultado obtido na imagem abaixo:



E agora o código Java Swing completo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    final DefaultTableModel modelo = new DefaultTableModel();
     
    // constrói a tabela
    JTable tabela = new JTable(modelo);
     
    // Cria duas colunas
    modelo.addColumn("Nome");
    modelo.addColumn("Idade");
     
    JButton btn = new JButton("Inserir Linhas");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          String nome = JOptionPane.showInputDialog(null, "Informe o nome:");
          String idade = JOptionPane.showInputDialog(null, "Informe a idade:");
          int pos = Integer.parseInt(JOptionPane.showInputDialog(null, 
             "Informe a posição da nova linha:"));
           
          // testa se a posição é válida
          if(pos > (modelo.getRowCount() - 1))
            pos = 0;
           
          // Insere uma linha na posição especificada
          modelo.insertRow(pos, new Object[]{nome, idade});
        }
      } 
    );
     
    JButton btn2 = new JButton("Excluir Linhas");
    btn2.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          int pos = Integer.parseInt(JOptionPane.showInputDialog(null, 
            "Informe a posição da linha a ser excluída:"));
           
          // testa se a posição é válida
          if(pos < modelo.getRowCount())
            // Exclui a linha na posição especificada
            modelo.removeRow(pos);
        }
      } 
    );  
     
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
    c.add(btn);
    c.add(btn2);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Um laço for que conta de 10 até 0

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

Neste exercício você deverá modificar o Exercício Resolvido 1. Agora você deverá usar o laço for para contar de 10 até 0, ou seja, o inverso do exercício anterior. Novamente você deverá fazer dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical:

Resposta/Solução:

Veja o código que usa o laço for para contar de 10 até 0 e exibir os valores na horizontal:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public static void main(String[] args){
  // laço for que conta de 10 até e exibe os valores na horizontal
  for(int i = 10; i >= 0; i--){
    System.out.print(i + "  ");
  }
}

Quando você executar este código, os valores deverão ser impressos da seguinte forma:

10  9  8  7  6  5  4  3  2  1  0

Agora, veja a modificação que faz com que os valores sejam impressos na vertical:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public static void main(String[] args){
  // laço for que conta de 10 até 0 e exibe os valores na vertical
  for(int i = 10; i >= 0; i--){
    System.out.println(i + "  ");
  }
}

Agora os valores serão exibidos da seguinte forma:

10  
9  
8  
7  
6  
5  
4  
3  
2  
1  
0



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de Kadane

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

O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original.

O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício.

Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima.

Sua saída deverá ser parecida com:

A soma maxima é: 6
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um array com 9 elementos
    int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
    
    // agora usamos o algoritmo de Kadane para encontrar
    // a maior soma consecutiva
    int soma_maxima = kadane(valores);
    System.out.println("A soma maxima é: " + soma_maxima);
  }
  
  // método que recebe um array e usa o algoritmo de Kadane
  // para retornar a maior soma consecutiva
  public static int kadane(int vetor[]){
    // ajustamos max_atual para 0 e max_total para -1 
    int max_atual = 0, max_total = -1;
    
    // um laço for que percorre todos os elementos do
    // vetor, do primeiro até o último
    for(int i = 0; i < vetor.length; i++){
      // max_atual recebe ele mesmo mais o valor
      // do elemento no índice i
      max_atual = max_atual + vetor[i];
      
      // se max_atual for negativo nós o ajustamos
      // para zero novamente
      if(max_atual < 0){
        max_atual = 0;
      }
      
      // se max_atual for maior que max_total então
      // max_total recebe o valor de max_atual
      if(max_atual > max_total){
        max_total = max_atual;
      }
    }
    
    // e retornamos a soma máxima
    return max_total;
  }
}



Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Java para iniciantes - Como usar o laço do-while da linguagem Java

Quantidade de visualizações: 52906 vezes
O laço do-while é uma variação do laço while. A diferença é que, no laço do-while a condição de continuidade é testada após a execução do bloco de códigos desejado. Isso nos faz crer que este laço é executado no mínimo uma vez. Veja sua sintáxe:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

do{
  // bloco de instruções
}while(condição);

Se a condição testada for verdadeira, o laço continua sua execução. Do contrário a execução do programa segue a partir do ponto onde o laço se encontra. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import javax.swing.JOptionPane;

public class Estudos{
  public static void main(String[] args) {
    int valor;
    int soma = 0;

    // Lê continuamente até o usuário informar 0
    do{
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe um valor inteiro:\n(ou 0 para sair)",
         "Estudos", JOptionPane.QUESTION_MESSAGE);

      valor = Integer.parseInt(str);

      soma += valor;
    }while(valor != 0);

    JOptionPane.showMessageDialog(null, "A soma é: " + soma,
       "Estudos", JOptionPane.INFORMATION_MESSAGE);
  }
}

Use o laço do-while quando você tiver instruções dentro do laço que precisem ser executadas no mínimo uma vez.


Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou Esc

Quantidade de visualizações: 5988 vezes
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc).

Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // a tecla Space foi pressionada?
    if(e.getKeyCode() == KeyEvent.VK_SPACE){
      JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada");
    }
    // a tecla Enter foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ENTER){
      JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada");
    }
    // a tecla Esc foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
      JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada");
    }
    else{
      JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada");  
    }
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased.


Java ::: Dicas & Truques ::: Expressões Regulares

Como remover todos os espaços de uma string em Java usando expressões regulares

Quantidade de visualizações: 8102 vezes
Nesta dica mostrarei como usar o método replaceAll() da classe Matcher da linguagem Java para remover todos os espaços de um texto ou frase. Esta classe faz parte do pacote java.util.regex e é usada em quase todos os códigos Java envolvendo expressões regulares.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "\\s";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "Esta frase contém alguns espaços"; 
    System.out.println(frase);
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll("");
    System.out.println("Sem espaços: " + res);
  } 
}

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

Esta frase contém alguns espaços
Sem espaços: Estafrasecontémalgunsespaços


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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