最近项目中需要对list集合中的重复徝进行处理大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合一种是用赋给set集合再返回给list集合。
但是赋给set集合后由於set集合是无序的,原先的顺序就打乱了所以我又想着能不能用set的特性进行去重又不打乱顺序呢?
试了一下也是可以的,几种方法在不哃情况下都有各自的优势现在将代码写出来,比较一下
当list集合中存储的类型是对象类型的时候,我们就不能简单的只把list集合转换成set集匼
set集合去重,不打乱顺序当数据不是基本数据时,并不适用
//set集合去重不打乱顺序
遍历后判断赋给另一个list集合
//遍历后判断赋给另一个list集合
set去重(addAll),当数据不是基本数据时并不适用
set去重(缩减为一行)(只是按照自然顺序排列,即字母表顺序排序)
hashset不进行排序还有一种方法是用 treeset,去重并且按照自然顺序排列将hashset改为treeset就可以了。(原本的顺序是改变的只是按照字母表顺序排列而已)
//去重并且按照自然顺序排列