Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Coleções (Collections) ::: List<T>

Como usar a classe genérica List<T> do C# em suas aplicações

Quantidade de visualizações: 15133 vezes
A classe genérica List<T> da linguagem C# representa uma lista fortemente tipada de objetos que podem ser acessados por índices. Esta classe fornece métodos para pesquisar, ordenar e manipular seus elementos. Veja sua posição na hierarquia de classes da plataforma .NET:

System.Object
  System.Collections.Generic.List<T>
    System.ServiceModel.Install.Configuration.
  ServiceModelConfigurationSectionCollection
    System.ServiceModel.Install.Configuration.
  ServiceModelConfigurationSectionGroupCollection
    System.Workflow.ComponentModel.ActivityCollection
    System.Workflow.Activities.WorkflowRoleCollection
    System.Workflow.Activities.OperationParameterInfoCollection
    System.Workflow.ComponentModel.Design.
  ActivityDesignerGlyphCollection
......


Esta classe implementa também as interfaces IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection e IEnumerable.

A classe List<T> é a equivalente genérica da classe ArrayList. Ela implementa a interface genérica IList<T> usando um array (matriz) cujo tamanho é dinamicamente aumentado de acordo com a necessidade. Esta classe usa tanto um comparador de igualdade quanto um de ordenação.

Os métodos tais como Contains(), IndexOf(), LastIndexOf() e Remove() usam um comparador de igualdade para os elementos da lista. O comparador de igualdade padrão para o tipo T é definido segundo as seguintes regras: Se o tipo T implementar a interface genérica IEquatable<T>, então o comparador de igualdade é o método Equals(T) dessa interface. Caso contrário, o comparador de igualdade padrão é Object.Equals(Object).

Os métodos tais como BinarySearch() e Sort() usam um comparador de ordenação para os elementos da lista. O comparador padrão para o tipo T é definido da seguinte forma: Se o tipo T implementar a interface genérica IComparable<T>, então o comparador padrão é o método CompareTo(T) dessa interface. Caso contrário, se o tipo T implementar a interface não-genérica IComparable, então o comparador padrão é o método CompareTo(Object) dessa interface. Se o tipo T não implementar nenhuma destas duas interfaces, então não haverá comparador padrão, e um comparador ou delegate de comparação deve ser fornecido explicitamente.

Uma lista List<T> não fornece garantias quanto à sua ordenação. Devemos ordená-la por conta própria antes de efetuar algumas operações (tais como BinarySearch) que exigem que a List<T> esteja ordenada. Os elementos em uma coleção do tipo List<T> podem ser acessados usando índices (que começam a partir de 0). Uma List<T> aceita o valor null como valor válido para tipos referência e aceita elementos duplicados.

Em relação à performance, a documentação do .NET afirma que, embora List<T> e ArrayList possuam funcionalidade semelhante, a classe List<T> possui uma performance melhor na maioria dos casos, além de ser type safe (oferece segurança de tipos).

Veja um trecho de código no qual criamos uma List<T> de inteiros, inserimos alguns valores e usamos o laço foreach para percorrer a lista e exibir os valores dos elementos:

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<int> valores = new List<int>();

  // vamos inserir três valores na lista
  valores.Add(5);
  valores.Add(2);
  valores.Add(9);
......


Link para compartilhar na Internet ou com seus amigos:

Java ::: Java para Engenharia ::: Unidades de Medida

Como converter Metros Quadrados em Quilômetros Quadrados em Java - Java para Física e Engenharia

Quantidade de visualizações: 155 vezes
Em muitas situações nós temos uma medida de área em m2 e queremos transformá-la em km2, ou seja, converter Metros Quadrados para Quilômetros Quadrados. Para isso só precisamos dividir os metros quadrados por 1.000.000. Veja a fórmula:

\[\text{Quilômetros Quadrados} = \frac{\text{Metros Quadrados}}{1.000.000} \]

Agora veja o código Java que pede para o usuário informar a medida de área em metros quadrados e a converte para quilômetros quadrados. Note que mostrei como exibir o resultado em notação científica e sem notação científica:

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 ler a medida em metros quadrados
    System.out.print("Informe os metros quadrados: ");
    double m_quadrados = Double.parseDouble(entrada.nextLine());
    
    // agora calculamos os quilometros quadrados
......


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

Informe os metros quadrados: 80
Você informou 80.0 metros quadrados.
Isso equivale a 8.0E-5 quilômetros quadrados.
Sem notação científica: 0,000080


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

Como retornar a diferença de dias entre duas datas em Java - Datas e horas em Java

Quantidade de visualizações: 9675 vezes
Algumas vezes precisamos obter a diferença de dias entre duas datas em Java. Esta dica mostra como isso pode ser feito usando dois objetos da classe Date. Veja que usamos o método parse() da classe SimpleDateFormat para construir as duas datas e o método getTime() da classe Date para obter a quantidade de milisegundos desde 1º de janeiro de 1970 GMT armazenada em cada um dos objetos Date. O resto é um cálculo matemático bem simples:

package arquivodecodigos;

import java.util.*;
import java.text.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    try{
      // constrói a primeira data
      DateFormat fm = new 
        SimpleDateFormat("dd/MM/yyyy");
      Date data1 = (Date)fm.parse("20/12/2019");
 
      // constrói a segunda data
      fm = new SimpleDateFormat("dd/MM/yyyy");
      Date data2 = (Date)fm.parse("25/01/2020");
 
      // vamos obter a diferença em dias
......


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

Primeira data: Fri Dec 20 00:00:00 BRST 2019
Segunda data: Sat Jan 25 00:00:00 BRST 2020
Diferença em dias = 36


VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em VB.NET usando o método ToUpper() da classe String

Quantidade de visualizações: 10021 vezes
Nesta dica mostrarei como podemos usar o método ToUpper() da classe String do VB.NET para converter todos os caracteres de uma palavra, frase ou texto para letras maiúsculas.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    Dim frase As String = "VejA esta FRASe"

    ' vamos mostrar a frase original
    Console.WriteLine("Frase original: " & frase)

    ' transforma tudo em letras maiúsculas
    frase = frase.ToUpper()
......


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

Frase original: VejA esta FRASe
Em letras maiúsculas: VEJA ESTA FRASE


JavaScript ::: DOM (Document Object Model) ::: document Object

Como usar o método getElementById() do objeto document para localizar um elemento HTML baseado em seu id usando JavaScript

Quantidade de visualizações: 12361 vezes
O método getElementById() do objeto document é usado quando queremos localizar e retornar um elemento HTML baseado no valor de sua propriedade id. Veja um exemplo:

<html>
<head>
<title>Estudos JavaScript</title>

<script type="text/javascript">
  function localizarElemento(){
    // vamos localizar o elemento com o id "aviso"
    var elem = document.getElementById("aviso");

    // o elemento foi localizado
    if(elem != null){
      // vamos definir o conteúdo do elemento encontrado    
      elem.innerHTML = "Vejam este texto.";
......


Execute o exemplo e clique no botão. Você verá que o texto do elemento div com o id "aviso" é definido para "Vejam este texto.". Note que, se o elemento não for encontrado, o retorno do método getElementById() é null na maioria dos browsers.

Há algumas observações interessantes em relação ao método getElementById() do objeto document:

a) Se o valor da propriedade id pertencer a uma coleção, ou seja, se houver mais de um elemento HTML com o mesmo id, o método retornará o primeiro elemento na coleção.

b) No Firefox, Opera, Google Chrome, Safari e Internet Explorer (IE) a partir da versão 8, o método getElementById() é case-sensitive (sensível a maiúsculas e minúsculas) em relação ao valor da propriedade id. Nas versões anteriores do IE isso não acontecia.


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

Como transformar um StringBuffer em uma String usando o método toString() da classe StringBuffer

Quantidade de visualizações: 11355 vezes
Como já vimos em dicas anteriores, um objeto da classe String é imutável, ou seja, quando modificamos o conteúdo de uma String, o interpretador cria um novo objeto, copiando o conteúdo da string anterior para o objeto recém-criado. Já a classe StringBuffer é mutável, ou seja, podemos modificar o seu conteúdo sem a necessidade da criação de um novo objeto.

Você ficará surpreso ao saber que não podemos atribuir uma variável do tipo StringBuffer em uma variável do tipo String e vice-versa. Ao tentarmos fazer isso, os seguintes erros de compilação são exibidos:

a) error: incompatible types: StringBuffer cannot be converted to String
b) error: incompatible types: String cannot be converted to StringBuffer

Assim, sempre que for necessário converter um StringBuffer em uma String, temos que usar o seu método toString(). Veja:

package arquivodecodigos;

// Este exemplo mostra como converter um
// StringBuffer em uma String

public class Estudos{
  public static void main(String[] args){
    StringBuffer frase = new StringBuffer("Programação Java");
......



Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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