Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução às Estruturas de Dados | Estruturas de Dados Básicas
Estruturas de Dados em Java

bookIntrodução às Estruturas de Dados

O que são Coleções e Porque são Necessárias?

Coleções em Java são umas das estruturas de dados frequentemente utilizadas. Uma estrutura de dados, por sua vez, é uma maneira de armazenar diversos tipos de dados.

Em termos simples, uma coleção é uma lista de dados ou variáveis de um tipo específico.
Enquanto os arrays são estáticos, significando que possuem um tamanho fixo definido durante a inicialização, as coleções podem ser vistas como arrays dinâmicos. Elas expandem à medida que elementos são adicionados. Então, quando você adiciona um elemento à lista, o tamanho da lista aumenta até que possa acomodar todos os elementos.

As coleções podem nos ajudar a entender como funciona um banco de dados, pois, com coleções, também podemos armazenar uma grande quantidade de dados. Nas coleções, podemos armazenar objetos de diferentes classes. Podemos até armazenar arrays nas coleções, o que é uma maneira muito conveniente de armazenar uma grande quantidade de dados.

Wrappers

Para começar a trabalhar com coleções, é importante notar que coleções não podem operar com tipos de dados primitivos. Elas trabalham especificamente com objetos. Para armazenar um número simples ou uma letra, precisamos usar uma classe de embrulho (wrapper) para o tipo de dado primitivo.

Segue uma lista de classes de embrulho (wrapper classes) para tipos primitivos:

  1. Integer: Classe de embrulho para o tipo int.
  2. Long: Classe de embrulho para o tipo long.
  3. Float: Classe de embrulho para o tipo float.
  4. Double: Classe de embrulho para o tipo double.
  5. Character: Classe de embrulho para o tipo char.
  6. Boolean: Classe de embrulho para o tipo boolean.
  7. Byte: Classe de embrulho para o tipo byte.
  8. Short: Classe de embrulho para o tipo short.

Essas classes fornecem métodos para conversão entre tipos primitivos e objetos, e oferecem diversos métodos para trabalhar com valores, como comparação, operações aritméticas e mais.

Vamos considerar alguns exemplos de uso de classes encapsuladoras:

main.java

main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // autoboxing int prim = wrap; // unboxing int result = wrap.compareTo(prim); // using object method System.out.println(result); } }

No código acima, criamos um objeto da classe Integer e o inicializamos com um número regular. Desta forma, utilizamos o autoboxing. Em seguida, criamos um int primitivo e o inicializamos com o valor do objeto embrulhador (wrapper). Isso é chamado de unboxing.

A partir disso, pode-se entender que autoboxing é a conversão automática de um valor de um tipo de dado primitivo para um objeto da classe embrulhadora (wrapper class). Unboxing é a conversão automática de um valor de um objeto da classe embrulhadora para um tipo de dado primitivo.

Você também pode ver como usamos o método de comparação. Esse método de comparação retorna 0 se os dados forem iguais, 1 se o valor da esquerda for maior que o da direita, e -1 se o valor da esquerda for menor que o da direita.

As classes embrulhadoras possuem muitos métodos diferentes; não vamos cobrir todos eles agora, mas você pode explorá-los localmente em seu IDE.

Sugiro praticar um pouco e modificar o método compareTo() de forma que, em vez de indicadores numéricos, obtenhamos mensagens de texto completas nos dizendo qual número é maior:

Tarefa

Swipe to start coding

Your task is to handle the value returned by the compareTo() method so that instead of 0, information indicates that the values are equal. Instead of 1, information indicates that the left value is greater than the right, and instead of -1, information indicates that the right value is greater than the left.

Note

Implement the upgrade_comparing method to enhance everything correctly and return a value with the String type.

To pass the task check, you must display "The right value is greater" if the value of right_value is greater; "The values are equal" if the values are equal; "The left value is greater" if the value of left_value is greater. The console outputs should be exactly as specified.

Solução

solution.java

solution.java

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 1
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 4

bookIntrodução às Estruturas de Dados

Deslize para mostrar o menu

O que são Coleções e Porque são Necessárias?

Coleções em Java são umas das estruturas de dados frequentemente utilizadas. Uma estrutura de dados, por sua vez, é uma maneira de armazenar diversos tipos de dados.

Em termos simples, uma coleção é uma lista de dados ou variáveis de um tipo específico.
Enquanto os arrays são estáticos, significando que possuem um tamanho fixo definido durante a inicialização, as coleções podem ser vistas como arrays dinâmicos. Elas expandem à medida que elementos são adicionados. Então, quando você adiciona um elemento à lista, o tamanho da lista aumenta até que possa acomodar todos os elementos.

As coleções podem nos ajudar a entender como funciona um banco de dados, pois, com coleções, também podemos armazenar uma grande quantidade de dados. Nas coleções, podemos armazenar objetos de diferentes classes. Podemos até armazenar arrays nas coleções, o que é uma maneira muito conveniente de armazenar uma grande quantidade de dados.

Wrappers

Para começar a trabalhar com coleções, é importante notar que coleções não podem operar com tipos de dados primitivos. Elas trabalham especificamente com objetos. Para armazenar um número simples ou uma letra, precisamos usar uma classe de embrulho (wrapper) para o tipo de dado primitivo.

Segue uma lista de classes de embrulho (wrapper classes) para tipos primitivos:

  1. Integer: Classe de embrulho para o tipo int.
  2. Long: Classe de embrulho para o tipo long.
  3. Float: Classe de embrulho para o tipo float.
  4. Double: Classe de embrulho para o tipo double.
  5. Character: Classe de embrulho para o tipo char.
  6. Boolean: Classe de embrulho para o tipo boolean.
  7. Byte: Classe de embrulho para o tipo byte.
  8. Short: Classe de embrulho para o tipo short.

Essas classes fornecem métodos para conversão entre tipos primitivos e objetos, e oferecem diversos métodos para trabalhar com valores, como comparação, operações aritméticas e mais.

Vamos considerar alguns exemplos de uso de classes encapsuladoras:

main.java

main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // autoboxing int prim = wrap; // unboxing int result = wrap.compareTo(prim); // using object method System.out.println(result); } }

No código acima, criamos um objeto da classe Integer e o inicializamos com um número regular. Desta forma, utilizamos o autoboxing. Em seguida, criamos um int primitivo e o inicializamos com o valor do objeto embrulhador (wrapper). Isso é chamado de unboxing.

A partir disso, pode-se entender que autoboxing é a conversão automática de um valor de um tipo de dado primitivo para um objeto da classe embrulhadora (wrapper class). Unboxing é a conversão automática de um valor de um objeto da classe embrulhadora para um tipo de dado primitivo.

Você também pode ver como usamos o método de comparação. Esse método de comparação retorna 0 se os dados forem iguais, 1 se o valor da esquerda for maior que o da direita, e -1 se o valor da esquerda for menor que o da direita.

As classes embrulhadoras possuem muitos métodos diferentes; não vamos cobrir todos eles agora, mas você pode explorá-los localmente em seu IDE.

Sugiro praticar um pouco e modificar o método compareTo() de forma que, em vez de indicadores numéricos, obtenhamos mensagens de texto completas nos dizendo qual número é maior:

Tarefa

Swipe to start coding

Your task is to handle the value returned by the compareTo() method so that instead of 0, information indicates that the values are equal. Instead of 1, information indicates that the left value is greater than the right, and instead of -1, information indicates that the right value is greater than the left.

Note

Implement the upgrade_comparing method to enhance everything correctly and return a value with the String type.

To pass the task check, you must display "The right value is greater" if the value of right_value is greater; "The values are equal" if the values are equal; "The left value is greater" if the value of left_value is greater. The console outputs should be exactly as specified.

Solução

solution.java

solution.java

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

close

Awesome!

Completion rate improved to 4
Seção 1. Capítulo 1
single

single

some-alt