【发布时间】:2014-04-09 03:09:32
【问题描述】:
我在使用 ArrayList 中的 remove() 函数时遇到问题。 我会尽量简短。 我有一个 ArrayList,Posicao 是我创建的另一个类,我在 Array 中放置了一些对象。 问题是,当我打印 ArrayList 中的所有值时,我得到了期望,但是当我尝试使用 remove(object) 或 lastIndexOf(value) 时,它不起作用。 Remove() 不会删除任何内容,并且 lastIndexOf(),甚至 indexOf(),我收到一条错误消息,指出我请求的对象不在数组中。 我仔细检查了一下,对象实际上就在那里。 有什么我做错了吗? 我遇到问题的代码部分。 如果还有其他需要发布的内容,请询问。 (=
System.out.println("BEGIN - Print beforeremove:" + tabuleiro0.posicoesLivres.contains(pos));
for(int i = 0 ; i < tabuleiro0.posicoesLivres.size() ; i++)
System.out.println(((Posicao)tabuleiro0.posicoesLivres.get(i)).x + " " + ((Posicao)tabuleiro0.posicoesLivres.get(i)).y);
System.out.println("END - Print before remove :");
tabuleiro0.posicoesLivres.remove(pos);
System.out.println("BEGIN - Print after remove:" + tabuleiro0.posicoesLivres.contains(pos));
for(int i = 0 ; i < tabuleiro0.posicoesLivres.size() ; i++)
System.out.println(((Posicao)tabuleiro0.posicoesLivres.get(i)).x + " " + ((Posicao)tabuleiro0.posicoesLivres.get(i)).y);
System.out.println("END - Print after remove :");
感谢您的耐心等待(=
【问题讨论】:
-
您能告诉我们
pos变量的设置位置吗?在调用remove()以验证它不是逻辑错误之前,您是否打印出pos...? -
等待
tabuleiro0.posicoesLivres.contains(pos)?pos是值还是位置? -
另一个函数设置 pos 然后调用我打印的这个函数。我打印了 pos 并且我得到了正确的值,但找不到删除它。 Pos 是我在 Posicao 类中创建的一个对象,它有 2 个整数,x 和 y。
标签: java linux ubuntu arraylist