Você está aqui: Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em Java - Como retornar a quantidade de nós em uma lista singularmente ligada usando Java

Quantidade de visualizações: 6950 vezes
Em algumas situações precisamos obter a quantidade de nós em uma lista singularmente ligada. Nesta dica eu mostro como isso pode ser feito. Aqui estou assumindo que você criou uma lista singularmente ligada que possui dois nós gerenciadores, ou seja, uma referência para o primeiro nó na lista e uma referência para o último nó.

Veja o código para um método que retorna a quantidade de nós na lista:

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

// método que permite exibir os valores de
// todos os nós da lista
public int tamanho() {
  int tam = 0; // representa a quantidade de nós na lista

  // vamos obter uma referência ao início da lista
  No no = inicio;

  while (no != null) { // enquanto a lista não estiver vazia
    tam++; // incrementamos a variável tam
    no = no.proximo; // pula para o nó seguinte
  }

  return tam;
}

Veja como podemos chamar este nó a partir da classe principal da aplicação (Main.java):

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

public class Main {
  public static void main(String[] args) {
    // vamos criar uma nova lista
    Lista lista = new Lista();

    // insira alguns nós no início ou no final
    // da lista

    // exibe a quantidade de nós na lista
    System.out.println("A lista possui " + lista.tamanho() +
      " nós");
  }
}

Ao executar a aplicação você terá um resultado parecido com:

A lista possui 4 nós.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Entrada e Saída em Arquivos (File Input/Output - IO)

Como ler o conteúdo de um arquivo uma linha de cada vez usando o método readLine() da classe RandomAccessFile da linguagem Java

Quantidade de visualizações: 13145 vezes
Uma das operações mais frequentes em um programa é a leitura do conteúdo de arquivos. A classe RandomAccessFile nos fornece o método readLine() que é muito útil quando precisamos ler as linhas de conteúdo em um arquivo.

O método readLine() lê bytes consecutivos do arquivo, começando na posição atual do ponteiro de arquivos até alcançar um caractere marcador de final de linha ou o fim do arquivo. Cada byte é convertido em um caractere tomando-se o valor do byte para os oito bits de menor ordem do caractere e definindo os oito bits de ordem alta do caractere como zero. Desta forma, este método não suporta Unicode completamente. Uma linha de texto é finalizada por um caractere de retorno de carro ("\r"), um caractere de nova linha ("\n"), um caractere de retorno de carro seguido por um caractere de nova linha, ou o final do arquivo. Caracteres de final de linha não são incluídos na string retornada pelo método.

É importante observar que, a cada chamada ao método readLine(), o ponteiro de arquivo é avançado e posicionado para a leitura subsequente. Veja o exemplo:

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

import java.io.*;

public class Estudos{
  public static void main(String[] args){
    // uma instância de RandomAccessFile para leitura e escrita
    try{
      RandomAccessFile arquivo = 
        new RandomAccessFile("C:\\java\\conteudo.txt", "rw");

      // vamos ler o conteúdo do arquivo uma linha de cada vez
      String linha;
      
      while((linha = arquivo.readLine()) != null){
        System.out.println("Posição do ponteiro: " +
          arquivo.getFilePointer());
        System.out.println(linha); 
      }

      arquivo.close();    
    }
    catch(FileNotFoundException fnfe){
      System.out.println(fnfe.getMessage());
    }
    catch(IOException ioe){
      System.out.println(ioe.getMessage());
    }

    System.exit(0);
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

Posição do ponteiro: 27
Primeira linha do arquivo
Posição do ponteiro: 53
Segunda linha do arquivo
Posição do ponteiro: 78
Terceira linha do arquivo


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

Como validar uma data em Java usando a classe GregorianCalendar

Quantidade de visualizações: 12994 vezes
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código:

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

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    try{
      GregorianCalendar data = new GregorianCalendar();
      data.setLenient(false);
      data.set(GregorianCalendar.YEAR, 2008); // ano
      data.set(GregorianCalendar.MONTH, 11); // mês
      // dia inválido
      data.set(GregorianCalendar.DATE, 32);
      
      // a validação da data ocorre aqui
      Date temp = data.getTime();
    }
    catch(Exception e){
      System.out.println("Data inválida.");
      e.printStackTrace();
    }
  } 
}

Ao executarmos este código teremos o seguinte resultado:

Data inválida.
java.lang.IllegalArgumentException: DAY_OF_MONTH
at java.util.GregorianCalendar.computeTime(Unknown 
Source)
at java.util.Calendar.updateTime(Unknown Source)
at java.util.Calendar.getTimeInMillis(Unknown Source)
at java.util.Calendar.getTime(Unknown Source)
at Estudos.main(Estudos.java:14)



Java ::: Dicas & Truques ::: Strings e Caracteres

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

Quantidade de visualizações: 37 vezes
Em algumas situações nós precisamos remover os espaços em excesso de um texto ou frase. Há várias formas de se realizar esta tarefa, e uma delas é por meio do uso de expressões regulares.

Veja um trecho de código no qual usamos o método replaceAll() da classe Matcher para substituir dois ou mais espaços por apenas um espaço:

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

package arquivodecodigos;

// Este exemplo mostra como remover todos os espaços
// duplicados de uma string

import java.util.regex.*;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar   em  Java  e   bom";
    System.out.println("Com espaços em excesso: " + frase);
    
    frase = removerEspacosDuplicados(frase);
    
    System.out.println("Sem espaços em excesso: " + frase);
    
    System.exit(0);
  }
  
  public static String removerEspacosDuplicados(String str){
     String patternStr = "\\s+";
     String replaceStr = " ";
     Pattern pattern = Pattern.compile(patternStr);
     Matcher matcher = pattern.matcher(str);
     return matcher.replaceAll(replaceStr);
  }
}  

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

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

Com espaços em excesso: Programar   em  Java  é   bom
Sem espaços em excesso: Programar em Java é bom



Vamos testar seus conhecimentos em AutoCAD Civil 3D

Levantamento topográfico no Civil 3D

É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente.

Estamos falando da ferramenta:

A) Point Groups

B) Aba Survey do Prospector

C) Survey Point

D) Survey Database
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vantagens e Desvantagens do Concreto Armado

A resistência à compressão e a moldabilidade do concreto, unidas à resistência à tração do aço, permitem que sejam executadas as mais diversas formas arquitetônicas sem perdas na eficiência da estrutura, o que faz com que esse material seja largamente utilizado no Brasil e no mundo.

Com relação às aplicações do concreto armado, assinale a resposta correta.

A) Edifícios de concreto armado só podem ser realizados em concreto moldado no local.

B) Na construção de reservatórios, não é recomendada a utilização de concreto armado devido a sua porosidade e a sua permeabilidade.

C) Normalmente, pavilhões industriais não são construídos em concreto armado, pois sua agressividade química é muito elevada.

D) Pavimentos rodoviários não têm armadura, podendo ser realizados em concreto, mas nunca armado.

E) Pisos de postos de gasolina e estacionamentos são exemplos de pisos realizados em concreto armado.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Topografia

Azimute e Rumo

FGV-2015 - No lançamento do projeto geométrico de uma estrada, o topógrafo levantou que o azimute do ponto 10 para o 11 foi de 254º 22' 26''. Nesse caso, o rumo foi de:

A) 54º 22' 26'' S

B) 54º 22' 26'' NW

C) 74º 22' 26'' SW

D) 74º 22' 26'' N

E) 105º 3' 3'' SW
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de combate a incêndio

A norma NBR 13714 estabelece os critérios mínimos exigíveis para sistemas de hidrantes e de mangotinhos, para uso exclusivo no combate a incêndio. Com base nesses critérios, assinale a alternativa correta:

A) Uma edificação com área de 850m2 não necessita de um sistema de mangotinhos ou de hidrantes para proteção contra incêndio.

B) O ponto de tomada de água para hidrantes e mangotinhos pode ser instalado a até 10m de distância das portas externas e escadas.

C) Os hidrantes devem ser distribuídos de tal forma que qualquer ponto da área a ser protegida seja alcançado por no mínimo dois esguichos.

D) Uma edificação com parede externa de 12m de altura necessita que o hidrante externo seja instalado afastado no máximo 18m da edificação.

E) Uma edificação com parede externa de 12m de altura necessita que o ponto de tomada de água seja instalado a no máximo 2m em relação ao piso.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

O aço no edifício

A estrutura de estabilização da moldura estrutural da edificação da figura abaixo, que se caracteriza pelo fato de as extremidades das amarrações diagonais serem recuadas de uma certa distância uma da outra, onde se conectam às vigas, pode ser chamada de:



A) Estrutura contraventada.

B) Moldura amarrada excentricamente.

C) Moldura resistente a momentos.

D) Paredes de cisalhamento.

E) Nenhuma das alternativas anteriores.
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á 59 usuários muito felizes estudando em nosso site.