list去掉重复数据(list如何快速消除重复的数据)(1)

上一次去面试的时候,面试官问了我一个技术上的问题,我到现在还记得。

面试官:有一个list,里面有很多重复的数据,现在你可以写一段逻辑,把重复的数据只留一份

我:双重循环list,if判断如果有一样的数据,那就remove掉,这样就完了

面试官:你仔细想想,这样不会有其他的问题吗?比如 说报异常

我:报异常?为啥会报异常

面试官:好吧,我没啥问题了

list去掉重复数据(list如何快速消除重复的数据)(2)

后来我仔细琢磨了一下,面来list的数据,如果remove后,会改变数据的下标,如果再进行遍历的话会报数组下标越界异常。使用iterator循环删除,可以避免报这种异常

list去掉重复数据(list如何快速消除重复的数据)(3)

这件事我跟我朋友说了一下,他神秘的跟我说,其实还有更简单的方法,就是把list转换成set,因为set是不可能有重复的数据出现的。

,