Você está aqui: Java ::: Pacote java.util.stream ::: Strings e Caracteres

Como retornar a quantidade de strings vazias em uma ArrayList usando as streams do Java

Quantidade de visualizações: 555 vezes
Nesta dica mostrarei como podemos usar as streams do Java para contar as strings vazias em uma ArrayList. Para isso nós faremos uso dos métodos stream(), filter(), isEmpty() e count().

Veja 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 estudos;

import java.util.ArrayList;

public class Estudos{
  public static void main(String args[]){
    // vamos criar uma String contendo strings (três vazias)
    ArrayList<String> linguagens = new ArrayList<>();
    linguagens.add("Java");
    linguagens.add("");
    linguagens.add("Python");
    linguagens.add("");
    linguagens.add("Ruby");
    linguagens.add("Delphi");
    
    // mostra o conteúdo do ArrayList original
    System.out.println("ArrayList original: " + linguagens);
    
    // vamos retornar a quantidade de strings vazias
    int quantidade = (int)linguagens.stream()
      .filter(x -> x.isEmpty())
      .count();

    // mostramos o resultado
    System.out.println("Encontrei " + quantidade + " strings vazias");
  }
}

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

ArrayList original: [Java, , Python, , Ruby, Delphi]
Encontrei 2 strings vazias

Link para compartilhar na Internet ou com seus amigos:

Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata)

Java MySQL - Como obter uma lista das funções de data e hora suportadas pelo MySQL usando o método getTimeDateFunctions() da interface DatabaseMetaData

Quantidade de visualizações: 5394 vezes
Em algumas situações gostaríamos de, via código, obter uma lista das funções de data e hora suportadas pelo MySQL. Para isso podemos usar o método getTimeDateFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getTimeDateFunctions() de forma a retornar a lista de funções de data e hora separadas por vírgulas.

Veja um trecho de código Java no qual listamos todas as funções de data e hora suportados no MySQL 5.0:

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

package estudosbancodados;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class EstudosBancoDados{
  public static void main(String[] args) {
    // strings de conexão
    String databaseURL = "jdbc:mysql://localhost/estudos";
    String usuario = "root";
    String senha = "osmar1234";
    String driverName = "com.mysql.jdbc.Driver";

    try {
      Class.forName(driverName).newInstance();
      Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);

      // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
      DatabaseMetaData dbmd = conn.getMetaData();

      // vamos obter a lista de funções de data e hora disponíveis
      // nesta versão do MySQL
      String funcoesDataHora = dbmd.getTimeDateFunctions();

      // como a lista de funções está separada por vírgulas, vamos obter
      // uma matriz de strings
      String funcoes[] = funcoesDataHora.split(",");

      // vamos mostrar o resultado
      for(int i = 0; i < funcoes.length; i++){
        System.out.println(funcoes[i]);
      }
    }
    catch (SQLException ex) {
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch (Exception e) {
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

DAYOFWEEK
WEEKDAY
DAYOFMONTH
DAYOFYEAR
MONTH
DAYNAME
MONTHNAME
QUARTER
WEEK
YEAR
HOUR
MINUTE
SECOND
PERIOD_ADD
PERIOD_DIFF
TO_DAYS
FROM_DAYS
DATE_FORMAT
TIME_FORMAT
CURDATE
CURRENT_DATE
CURTIME
CURRENT_TIME
NOW
SYSDATE
CURRENT_TIMESTAMP
UNIX_TIMESTAMP
FROM_UNIXTIME
SEC_TO_TIME
TIME_TO_SEC


Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Estruturas de Dados em Java - Como obter o nó com menor valor em uma árvore binária de busca em Java

Quantidade de visualizações: 3235 vezes
Em exemplos dessa seção nós vimos como criar árvores binárias e árvores binárias de busca em Java e como pesquisar ou fazer a sua travessia, visitando cada um dos nós. Nesta dica mostrarei como obter o nó com o menor valor em uma árvore binária. O truque aqui é descer o lado esquerdo da árvore até o último nó. Veja:

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

// método que permite retornar o menor nó de uma árvore
// binária de busca
public No retornarMenorElemento(){
  // chama a versão recursiva do método
  return retornarMenorElemento(raiz);
}
  
public No retornarMenorElemento(No no){
  if((no == null) || (no.getEsquerdo() == null)){
    return no; // ponto de parada
  }
  else{ // vamos continuar descendo do lado esquerdo
    return retornarMenorElemento(no.getEsquerdo());
  }
}

Este método faz parte da classe ArvoreBinariaBusca.java. Veja agora como chamá-lo a partir da classe principal, ou seja, a classe de teste:

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

package arvore_binaria;

import java.util.Scanner;

public class ArvoreBinariaTeste {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
       
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
    
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
       
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Não foi possível inserir." +
          " Um elemento já contém este valor.");  
      }
    }
     
    // vamos o menor elemento na árvore binária de busca
    System.out.println("\nO menor nó é: " + 
      arvore.retornarMenorElemento().getValor());
     
    System.out.println("\n");
  }
}

Ao executar este código teremos o seguinte resultado:

Informe um valor inteiro: 5
Informe um valor inteiro: 12
Informe um valor inteiro: 87
Informe um valor inteiro: 1
Informe um valor inteiro: 3

O menor nó é: 1



Java ::: Pacote java.lang ::: Integer

Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo int

Quantidade de visualizações: 95559 vezes
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura:

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

public static int parseInt(String s)
  throws NumberFormatException

A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo.

Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    int idade = Integer.parseInt(entrada.nextLine());
    
    // mostra o valor lido
    System.out.println("A idade informada foi: " + idade);    
  }
}

Ao executarmos este código teremos o seguinte resultado:

Informe sua idade: 28
A idade informada foi: 28

Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. Veja:

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

Informe sua idade: osmar
Exception in thread "main" java.lang.NumberFormatException: 
For input string: "osmar"
  at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
  at java.lang.Integer.parseInt(Integer.java:447)
  at java.lang.Integer.parseInt(Integer.java:497)
  at Estudos.main(Estudos.java:10)

Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. Veja:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    
    try{
      int idade = Integer.parseInt(entrada.nextLine());
    
      // mostra o valor lido
      System.out.println("A idade informada foi: " + idade);
    }
    catch(NumberFormatException nfe){
      System.out.println("Valor inválido: " + nfe.getMessage());	
    }    
  }
}

Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro.


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: 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á 72 usuários muito felizes estudando em nosso site.