Eu estou tentando remover um elemento de um TreeMap, mas minha função não esta funcionando. Eu acredito q eu deva estar usando a função remove de forma incorreta. Alguém pode me ajudar?
private Map<String, BottomFrame> seleciona = new TreeMap<String, BottomFrame>(); // onde BottomFrame é uma classe que eu criei
public void deleteItem(String id){
seleciona.remove(id);
}
O mais provável é que deve estar dando uma ConcurrentModificationException. Isso pode ocorrer quando se percorre um TreeMap com “for” sem usar o Iterator - deve-se remover o elemento usando o Iterator, não a chave.
então viny, não tah funcionando. eu postei essa duvida http://www.guj.com.br/posts/list/213981.java, mas como ninguém respondeu, eu achei q a unica explicação pra eu não conseguir abrir a mesma janela seria q eu estaria usando errado o metodo remove()…
Mas se tah certo… então não faço a mínima ideia
“Não está funcionando” parece coisa de usuário. Diga o que ocorre:
a) Não está removendo o elemento desejado, simplesmente.
b) Está pegando uma ConcurrentModificationException.
c) Você quer remover o elemento “josé” (tudo em minúsculas) mas está cadastrado “José” (a primeira letra maiúscula).
Não é isso. Eu mando ele remover um frame de um TreeMap de frames. Mas o que parece é q ele não remove.
Se alguém tiver a gentileza de olhar esse topico q eu criei, entenderá o que ele não está excluindo http://www.guj.com.br/posts/list/213981.java
ele não está removendo. eu mandei ele imprir o meu treemap depois de chamada a função remove e a minha chave continuou lá. Tenho a leve impressão de que preciso usar o iterator para percorrer o meu map para assim remover a chave. Só que eu não sei fazer isso… alguém me ajuda?
Como eu faço pra remover um elemento de um TreeMap, passando uma chave como parametro, usando o iterator?