cami-la / collections-java-api-2023

Este repositório é referente ao curso "Collection Framework API Java" e é uma valiosa contribuição para a comunidade de desenvolvedores Java, fornecendo exemplos práticos e recursos educacionais relacionados à poderosa API de coleções da linguagem Java.
https://web.dio.me/course/conhecendo-collections-java/learning/c5d6f4e1-6d05-4eea-93d8-d292c708999f
1.05k stars 766 forks source link

Agradecimento #70

Open FabioCantuario opened 4 months ago

FabioCantuario commented 4 months ago

Olá Cami, decidir colocar aqui meu agradecimento pelo compartilhamento de seus conhecimentos e apesar de essa parte de List, Set e Map ser bem cabeça.. você conseguiu transimitir muito bem o conteúdo.. meus parabéns, gostei muito de sua forma de explicar e aplicar os exemplos, gostaria muito de ter mais detalhes sobre esse assunto, não sou da área desenvolvimento, mas desejo atuar ou pelo menos criar um sistema em breve para atender uma necessidade de onde trabalho.. mas valeu pelos ensinamentos.

Aproveitando, só fiquei com uma dúvida básica, mas vou rever os vídeos, porque em alguns metodos o tipo era List<> e outras void, sei que o void não traz retorno, mas não associei muito bem porque o uso do tipo List em alguns metodos? Neste caso seria retornando uma Lista?

CaioRC39 commented 3 months ago

Respondendo à sua dúvida, você está correto. Quando você coloca List<>, você estará retornando uma Lista, assim como se você colocar Integer, você estará retornando um inteiro e assim por diante. Não esqueça também que, quando não é void, você necessariamente precisa adicionar um return, pois você está, justamente, retornando alguma coisa.

cami-la commented 2 months ago

Oi, @FabioCantuario. Tudo certinho?

Primeiramente muito obrigada pelo feeback. Fico muito feliz pelo retorno. <3

Então, é bem simples. Quando nós colocamos o retorno, a execução do método tem um retorno e este retorno podemos colocar em uma variável, por exemplo. E quando colocamos void, a execução não tem retorno, só executa algo.

import java.util.ArrayList;
import java.util.List;

public class SimpleMethodExample {
    public static void main(String[] args) {
        // Chamando o método que retorna uma lista de frutas
        List<String> fruits = getFruits();

        // Usando a variável para imprimir as frutas
        System.out.println(fruits); // [Apple, Banana, Orange]

        // Chamando o método que não tem retorno, apenas adiciona uma fruta à lista
        addFruitIfNotPresent(fruits, "Mango");
        addFruitIfNotPresent(fruits, "Apple"); // Não adiciona "Apple" novamente

        // Imprimindo a lista após adicionar as frutas
        System.out.println(fruits); // [Apple, Banana, Orange, Mango]
    }

    // Método que retorna uma lista de frutas
    public static List<String> getFruits() {
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        return fruits; // Retorna a lista de frutas
    }

    // Método que não tem retorno, apenas adiciona uma fruta à lista se ela não estiver presente
    public static void addFruitIfNotPresent(List<String> fruits, String fruit) {
        if (!fruits.contains(fruit)) {
            fruits.add(fruit); // Adiciona a fruta se não estiver presente na lista
        }
    }
}

Um exemplo clássico, são os métodos auxiliares getter (com retorno) e setter (sem retorno).

public class Fruit {
    private String name;

    // Getter: método que retorna o valor do campo 'name'
    public String getName() {
        return name;
    }

    // Setter: método que define o valor do campo 'name'
    public void setName(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        // Criando uma instância da classe Fruit
        Fruit apple = new Fruit();

        // Usando o setter para definir o nome da fruta
        apple.setName("Apple");

        // Usando o getter para obter o nome da fruta
        System.out.println(apple.getName()); // Apple
    }
}

Espero que tenha clarificado os conceitos. Bons estudos para nós!