Usando metodo Equals em Java

Olá, alguém poderia me dizer como utilizar o método Equals?
Se eu tenho uma classe Produto com nome e quantidade. Se eu tenho um produto que tem o mesmo nome, como eu armazeno somente a quantidade total a esse mesmo produto usando o Equals?

Agradecido se alguém puder ajudar.

Não deu pra entender direito o que você quer fazer, mas já adianto que provavelmente o equals não é a solução.

O método equals serve para comparar uma instância com outra, e dizer se elas são iguais: https://howtodoinjava.com/java/basics/java-hashcode-equals-methods/

Por exemplo, se você tem 2 produtos:

Produto p1 = new Produto(etc...);
Produto p2 = new Produto(etc...);

if (p1.equals(p2)) {
    // produtos p1 e p2 são iguais
}

No caso, a classe Produto teria um método equals que diz qual é a regra usada para saber se os produtos são iguais. E aí você coloca a regra que precisar (por exemplo, se os nomes são iguais, ou se o nome e código são iguais, ou qualquer outra, dependendo da necessidade).

Ou seja, nada a ver com o que você quer fazer (ou pelo menos, com o que eu acho que entendi que você quer…)

é basicamente, eu inseri um produto com nome: tesoura com quantidade: 3.
como eu faço se eu quiser inserir novamente o produto tesoura sem acrescentar outro produto somente atribuindo o valor a esse produto.
não usa o equals para comparar se já tem um produto com o mesmo nome?

Exemplo
–Digite nome e quantidade----
nome: tesoura quantidade: 3
nome: tesoura quantidade: 5

Imprimir: nome: tesoura quantidade: 3
nome: tesoura quantidade: 5

O que eu queria que acontecesse:
Imprimir: nome: tesoura quantidade: 8

Olá.

Crie um metodo de soma dentro do seu objeto.
Quando quiser adicionar uma certa quantidade basta encontrar o objeto igual pelo nome e adicionar a quantidade que precisa chamado o método de somar passando a quantidade como parametro:
Para encontrar o objeto de nome igual você pode usar:

 if(p1.getNome().equalsIgnoreCase("Nome do seu objeto")) {
		p1.adiciona("<quantidade a ser somada>");
		
	}

Abaixo um exemplo:

public class Produto {
private String	nome;
private int		quantidade;

public Produto() {
	super();

}

public Produto(String nome, int quantidade) {
	super();
	this.nome = nome;
	this.quantidade = quantidade;
}

public int getQuantidade() {
	return quantidade;
}

public void setQuantidade(int quantidade) {
	this.quantidade = quantidade;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public void adiciona(int quantidade) {
	this.quantidade += quantidade;

}

}


import java.util.ArrayList;

public class Main {
public static void main(String[] args) {

	// instancio o produto p1 com nome laranja e quantidade 1
	Produto p1 = new Produto();
	p1.setQuantidade(1);
	p1.setNome("Tesoura");

	System.out.println("Nome : " + p1.getNome());
	System.out.println("Quantidade : " + p1.getQuantidade());

	p1.adiciona(3);

	System.out.println("Nome : " + p1.getNome());
	System.out.println("Quantidade : " + p1.getQuantidade());

}
 }

Saida desse código:

Nome : Tesoura
Quantidade : 1
Nome : Tesoura
Quantidade : 4

Nesse caso eu usaria um Map que mapeia os nomes aos produtos. Algo assim:

public class Produto {
    private String nome;
    private int quantidade;

    public Produto(String nome, int quantidade) {
        this.nome = nome;
        this.quantidade = quantidade;
    }

    public String getNome() {
        return nome;
    }

    public void adiciona(int qtd) {
        this.quantidade += qtd;
    }

    public int getQuantidade() {
        return quantidade;
    }
}


// e no main
public static void main(String[] args) throws Exception {
    Scanner sc = new Scanner(System.in);
    Map<String, Produto> produtos = new HashMap<>();
    while (true) {
        System.out.println("Digite o nome do produto: ");
        String nome = sc.nextLine();
        System.out.println("Digite a quantidade: ");
        int qtd = Integer.parseInt(sc.nextLine());
        if (!produtos.containsKey(nome)) {
            // se produto ainda não está no map, cria
            produtos.put(nome, new Produto(nome, qtd));
        } else {
            // se produto já existe, só atualiza a quantidade
            produtos.get(nome).adiciona(qtd);
        }
        
        // imprime os produtos
        System.out.println("Produtos:");
        for (Produto produto: produtos.values()) {
            System.out.printf("- Nome: %s, quantidade: %d\n", produto.getNome(), produto.getQuantidade());
        }
    }
}