这几天在研究SpringBoot的底层源码的时候发现了一个重来没想到过的操作。
之前对于一个List集合,如果我要去重,那么我都是暴力遍历的,但是今天发现有一个很快的操作。
废话不多说,直接贴代码。
这个使用的是Set集合要求数据不重复的特点来做到的。
这样子如果我们需要去重后集合仍有序,就可以把有重复数据的List放入到LinkedHashSet中去做去重,并且去重后元素仍然有序,并且我们知道,Collection集合下面包含了List,Set,Queue。因此我们可以把去重后的他们再次进行相互转换。
List<String> list = new ArrayList<>(); list.add("123"); list.add("1235"); list.add("1234"); list.add("123"); System.out.println(new ArrayList<String>(new LinkedHashSet<>(list)));