list 删除对象 remove 和 removeAll 区别 及迭代器删除

可以看到remove 有两个方法,一个返回值是Boolean。一个返回值是删除的对象类型,这个参数是该对象在列表中的位置(用的少)。

区别:remove是删除List中的一条数据,参数是List<> 的一个泛型对象,删除也只删除一条。

removeAll 是根据参数集合删除List中的多条数据,凡是和参数中一样的都会被删除。比如列表是List<Integer> 的  ,原列表是[ 1,1,2,33,55,1,1]  参数是[1]

那么removeAll方法删除后是[2,33,55]。

今天导入文件遇到一个问题。有用户导入了 多条一模一样的数据(不知道怎么想的),这里去重后,要把重复的数据返回给用户,告诉他们哪些重复。

我原来的需求做的是 先把不重复的数据拿出来,然后在文件解析出的list中把unique的对象删除。 原来用的removeAll 。这样就会把重复的全部删除掉。就比如说一共导入10条数据,完全重复的8条,删除后返回给前端就只有3条。

最后是用for循环+remove做的,这样可以返回十条。remove删除的话list中有完全重复的也只删除一条

下班记得打卡
原文地址:https://www.cnblogs.com/onlyzhangmeng/p/13562504.html