Utilizei um Set ao invés de List na classe banco imaginando que se eu inserisse duas empresas com o mesmo nome ao rodar /listEmpresas apareceria apenas um nome, o que não ocorreu. O que está errado ?
package br.com.alura.gerenciador.servlet;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Banco {
private static Set<Empresa> lista = new HashSet();
public Set<Empresa> adiciona(Empresa empresa){
Banco.lista.add(empresa);
return Banco.lista;
}
public Set<Empresa> getEmpresas() {
return Banco.lista;
}
}
package br.com.alura.gerenciador.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Set;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ListaEmpresasServlet
*/
@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Banco banco = new Banco();
Set<Empresa> lista = banco.getEmpresas();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<ul>");
lista.forEach(empresa -> out.println("<li>" + empresa.getNome() + "</li>"));
out.println("</ul>");
out.println("</body></html>");
System.out.println(lista.size());
}
}