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中有完全重复的也只删除一条
下班记得打卡