Como alterar a posição de um elemento no ArrayList corretamente?

1 resposta
javawebjspjavaservlet
T

Estou tentando utilziar o método set, porém ele sobrescreve o elemento do outro vetor com suas informações e não é isso o que eu quero, eu estou tentando fazer somente a troca de posições…

As trocas de posições são simples, pra cima ou pra baixo.

HttpSession session = request.getSession();
final int productPosition = Integer.parseInt(request.getParameter("productPosition"));
final int productQuantity = Integer.parseInt(request.getParameter("productQuantity"));
final List<Produto> userProductList = (List<Produto>) session.getAttribute("userProductList");

userProductList.set(productPosition - 1, userProductList.get(productPosition));
userProductList.set((productPosition - 1) + 1, userProductList.get(productPosition - 1));

session.setAttribute("userProductListSize", userProductList.size());
session.setAttribute("userProductList", userProductList);

request.getRequestDispatcher("/listaCompras.jsp").forward(request, response);

1 Resposta

R

Não tem como mover!
Vai usar o set mesmo. Antes salve o antigo valor em outra var pra fazer a troca, ai é só setar um na posição do outro.

Criado 22 de novembro de 2018
Ultima resposta 23 de nov. de 2018
Respostas 1
Participantes 2