Arrays problemas na classe e na main

Olá pessoal! Sou novo no forum e novo programador também.
estou com muitas duvidas sobre array, não sei criar objetos do tipo array em uma classe e também não sei adiciona-lo depois de instanciado na main.
observem o exercicio que tenho que fazer:
) Desenvolver a classe Estoque:

  • atributo setor
  • atributo produtos (tipo ArrayList)
    Construtores
    Setter e getter de setor
    Métodos:
  • inclusao (inclui produto)
  • totalEstoque (totaliza o estoque ? somando todos os valores dos produtos)
  • toString ? mostra todos os produtos e o total geral

b) Desenvolver a classe TesteEstoque:
Com o main:

  • instancia Estoque.
  • instancia vários produtos, entrando com os dados.
  • inclui os produtos no estoque.
  • mostra os valores, inclusive a totalização.

agora o que eu fiz ( não funciona);

(class)
import java.util.ArrayList;
import java.util.Arrays;

import javax.swing.JOptionPane;

public class Estoque {

private String setor;  
private String [] produtos;  
private  double [] valor;  
ArrayList<produtos> produtos1 = new ArrayList<produtos>();  
public String getSetor() {  
    return setor;  
}  
public void setSetor(String setor) {  
    this.setor = setor;  
}  
public String[] getProdutos() {  
    return produtos;  
}  
public void setProdutos(String[] produtos) {  
    this.produtos = produtos;  
}  
  
  
public Estoque(){}  
  
public Estoque(String setor,String[] produtos)  
{  
    this.setor=setor;  
    this.produtos=produtos;  
      
}  
  

public  void incluiProduto(String [] produtos) {  
    for (int i =0; i < produtos.length; i++) {  
        produtos<i>=JOptionPane.showInputDialog("Digite o "+(i+1)+"º nome");}  
    }  
@Override  
public String toString() {  
    return "Estoque [setor=" + setor + ", produtos=" + produtos  
            + ", valor=" + Arrays.toString(valor) + ", getSetor()="  
            + getSetor() + ", getProdutos()=" + getProdutos()  
            + ", getClass()=" + getClass() + ", hashCode()=" + hashCode()  
            + ", toString()=" + super.toString() + "]";  
}         
}  

main:
import javax.swing.JOptionPane;

import java.util.ArrayList;
import java.util.Arrays;

public class TesteEstoque {

public static void main(String[] args) {  
    Estoque E1 = new Estoque();  
    ArrayList<String> Estoque = new ArrayList<String> ();  
      
      
    E1.setProdutos(JOptionPane.showInputDialog("Qual produto"));  
    E1.setSetor(JOptionPane.showInputDialog("Qual setor"));  
  
    JOptionPane.showMessageDialog(null,E1);  
}  

}

como faço ? aObrigado amigos!

Bom dia danielmzs!

Observando um pouco o seu código vi alguns erros como por exemplo você criou uma classe Estoque e depois quis criar um ArrayList Estoque … bem não sei bem se entendi o que você queria mais veja esse código se resolve o seu problema, e a respeito de saber um pouco mais sobre ArrayList de uma olhada no meu site que eu falo um pouco sobre o assunto:
http://renanwillamy.com/java-arraylist-3/

[code]public class Estoque {
private String setor;
private ArrayList produtos;

public Estoque(){
	
}

public Estoque(String setor){
	this.setor = setor;
	this.produtos = new ArrayList<>();
}

public String getSetor() {
	return setor;
}

public void setSetor(String setor) {
	this.setor = setor;
}

public ArrayList<String> getProdutos() {
	return produtos;
}

public void addProdutos(String produtos) {
	this.produtos.add(produtos);
}

@Override
public String toString() {
	String total = "Setor  "+setor+": ";
	for(String p : produtos){
		total +=p+", ";
	}
	total+= "Total de produtos = "+produtos.size();
	return total;
}

}
[/code]

[code]public class Test {

public static void main(String[] args) {
	Estoque estoque = new Estoque("Alimenticio");
	estoque.addProdutos("Maçã");
	estoque.addProdutos("Mamão");
	estoque.addProdutos("Pêra");
	estoque.addProdutos("Laranja");
	estoque.addProdutos("Goiaba");
	
	System.out.println(estoque.toString());
	
}

}[/code]