我正在努力使这个简单的Java练习工作,但它没有,我无法理解为什么.
这是我的代码:
public LinkedList<T> toSet()
{
LinkedList<T> retList;
retList = lista;
for(T elem1 : retList)
for(T elem2 :retList)
{
if(retList.indexOf(elem1) == retList.indexOf(elem2))
continue;
else if(elem1.equals(elem2))
retList.remove(elem1);
}
return retList;
}
Run Code Online (Sandbox Code Playgroud)
该方法应删除列表中出现多次的元素.我用eclipse调试它,我发现retList.remove(elem1)列表保持不变!
我的错误在哪里?
简单的解决方案是使用Set.在你的情况下你可以使用.
public Set<T> toSet() {
return new LinkedHashSet<T>(lista);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
670 次 |
| 最近记录: |