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 Fundamentais em Java
Quizzes & Challenges
Quizzes
Challenges
/
Estruturas de Dados em Java

bookIntrodução às Estruturas de Dados

Bem-vindo ao Java Data Structures! Este curso é direcionado para desenvolvedores Java que desejam aprimorar seu entendimento sobre estruturas de dados e aumentar sua eficiência na codificação.

Este curso não é para iniciantes. Se você não concluiu nossos três cursos anteriores de Java, poderá achá-lo desafiador.

Para aproveitar ao máximo este curso, recomendamos fortemente que conclua esses cursos antes de iniciar o Java Data Structures.

O que são Coleções e Por Que São Necessárias?

Coleções em Java são uma das estruturas de dados utilizadas com muita frequência. Uma estrutura de dados, por sua vez, é uma forma 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 arrays são estáticos, ou seja, possuem um tamanho fixo definido durante a inicialização, coleções podem ser consideradas como arrays dinâmicos. Elas expandem à medida que elementos são adicionados. Assim, ao adicionar um elemento à lista, o tamanho da lista aumenta até comportar todos os elementos.

Coleções podem ajudar a compreender como um banco de dados funciona porque, com coleções, também é possível armazenar uma grande quantidade de dados. Em coleções, é possível armazenar objetos de diferentes classes. Também é possível armazenar arrays em coleções, o que representa uma forma muito conveniente de armazenar grandes volumes de dados.

Wrappers

Para começar a trabalhar com coleções, é importante observar que coleções não operam com tipos de dados primitivos. Elas trabalham especificamente com objetos. Para armazenar um número ou letra simples, é necessário utilizar uma classe wrapper para o tipo de dado primitivo.

Tipos de dados primitivos (como int, char, float, boolean e outros) não são objetos, e em algumas situações é necessário tratá-los como objetos, por exemplo, em coleções ou ao utilizar classes que exigem objetos. Classes wrapper oferecem um encapsulamento orientado a objetos para cada tipo primitivo.

Aqui está uma lista de classes wrapper para tipos primitivos:

Essas classes fornecem métodos para conversão entre tipos primitivos e objetos, além de várias funções para trabalhar com valores, como comparação, operações aritméticas e outras.

Veja alguns exemplos de uso das classes wrapper:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // Autoboxing: converting a primitive int to an `Integer` object int prim = wrap; // Unboxing: converting an `Integer` object back to a primitive int int result = wrap.compareTo(prim); // Using the `compareTo` method of the `Integer` class System.out.println(result); } }

No código acima, foi criado um objeto da classe Integer e inicializado com um número comum. Este é um exemplo de autoboxing. Em seguida, foi criado um int primitivo e atribuído a ele o valor do wrapper, processo chamado de unboxing.

Com isso, entende-se que autoboxing é a conversão automática de um tipo de dado primitivo em um objeto da classe wrapper. Por outro lado, unboxing é a conversão automática de um objeto da classe wrapper de volta para um tipo de dado primitivo.

Também é possível observar o uso do método de comparação, que retorna 0 se os valores forem iguais, 1 se o valor à esquerda for maior que o da direita e -1 se o valor à esquerda for menor que o da direita.

As classes wrapper oferecem diversos métodos úteis. Nem todos serão abordados agora, mas podem ser explorados em seu IDE.

Tarefa

Swipe to start coding

Complete o método upgrade_comparing para que utilize o método compareTo() e retorne uma mensagem descritiva dependendo do resultado da comparação.

  1. Chame o método compareTo() em left_value, passando right_value como argumento.
  2. Armazene o resultado na variável comparingResult.
  3. Use uma estrutura switch para processar esse resultado:
    • Se o resultado for -1, atribua "The right value is greater" à variável result.
    • Se o resultado for 0, atribua "The values are equal" à variável result.
    • Se o resultado for 1, atribua "The left value is greater" à variável result.
  4. Se, por algum motivo, o resultado não corresponder a nenhum desses valores, imprima "Error".
  5. Retorne a variável result do método.

Solução

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

Suggested prompts:

What are some common use cases for collections in Java?

Can you explain more about autoboxing and unboxing with examples?

How do I choose which collection type to use for my data?

close

bookIntrodução às Estruturas de Dados

Deslize para mostrar o menu

Bem-vindo ao Java Data Structures! Este curso é direcionado para desenvolvedores Java que desejam aprimorar seu entendimento sobre estruturas de dados e aumentar sua eficiência na codificação.

Este curso não é para iniciantes. Se você não concluiu nossos três cursos anteriores de Java, poderá achá-lo desafiador.

Para aproveitar ao máximo este curso, recomendamos fortemente que conclua esses cursos antes de iniciar o Java Data Structures.

O que são Coleções e Por Que São Necessárias?

Coleções em Java são uma das estruturas de dados utilizadas com muita frequência. Uma estrutura de dados, por sua vez, é uma forma 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 arrays são estáticos, ou seja, possuem um tamanho fixo definido durante a inicialização, coleções podem ser consideradas como arrays dinâmicos. Elas expandem à medida que elementos são adicionados. Assim, ao adicionar um elemento à lista, o tamanho da lista aumenta até comportar todos os elementos.

Coleções podem ajudar a compreender como um banco de dados funciona porque, com coleções, também é possível armazenar uma grande quantidade de dados. Em coleções, é possível armazenar objetos de diferentes classes. Também é possível armazenar arrays em coleções, o que representa uma forma muito conveniente de armazenar grandes volumes de dados.

Wrappers

Para começar a trabalhar com coleções, é importante observar que coleções não operam com tipos de dados primitivos. Elas trabalham especificamente com objetos. Para armazenar um número ou letra simples, é necessário utilizar uma classe wrapper para o tipo de dado primitivo.

Tipos de dados primitivos (como int, char, float, boolean e outros) não são objetos, e em algumas situações é necessário tratá-los como objetos, por exemplo, em coleções ou ao utilizar classes que exigem objetos. Classes wrapper oferecem um encapsulamento orientado a objetos para cada tipo primitivo.

Aqui está uma lista de classes wrapper para tipos primitivos:

Essas classes fornecem métodos para conversão entre tipos primitivos e objetos, além de várias funções para trabalhar com valores, como comparação, operações aritméticas e outras.

Veja alguns exemplos de uso das classes wrapper:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // Autoboxing: converting a primitive int to an `Integer` object int prim = wrap; // Unboxing: converting an `Integer` object back to a primitive int int result = wrap.compareTo(prim); // Using the `compareTo` method of the `Integer` class System.out.println(result); } }

No código acima, foi criado um objeto da classe Integer e inicializado com um número comum. Este é um exemplo de autoboxing. Em seguida, foi criado um int primitivo e atribuído a ele o valor do wrapper, processo chamado de unboxing.

Com isso, entende-se que autoboxing é a conversão automática de um tipo de dado primitivo em um objeto da classe wrapper. Por outro lado, unboxing é a conversão automática de um objeto da classe wrapper de volta para um tipo de dado primitivo.

Também é possível observar o uso do método de comparação, que retorna 0 se os valores forem iguais, 1 se o valor à esquerda for maior que o da direita e -1 se o valor à esquerda for menor que o da direita.

As classes wrapper oferecem diversos métodos úteis. Nem todos serão abordados agora, mas podem ser explorados em seu IDE.

Tarefa

Swipe to start coding

Complete o método upgrade_comparing para que utilize o método compareTo() e retorne uma mensagem descritiva dependendo do resultado da comparação.

  1. Chame o método compareTo() em left_value, passando right_value como argumento.
  2. Armazene o resultado na variável comparingResult.
  3. Use uma estrutura switch para processar esse resultado:
    • Se o resultado for -1, atribua "The right value is greater" à variável result.
    • Se o resultado for 0, atribua "The values are equal" à variável result.
    • Se o resultado for 1, atribua "The left value is greater" à variável result.
  4. Se, por algum motivo, o resultado não corresponder a nenhum desses valores, imprima "Error".
  5. Retorne a variável result do método.

Solução

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!

Seção 1. Capítulo 1
single

single

some-alt