方法4:LinkedHashSet去重(有序)
既然 HashSet 会自动排序不能满足需求,那就使用 LinkedHashSet,它既能去重又能保证集合的顺序,实现代码如下:
public class ListDistinctExample { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>() {{ add(1); add(3); add(5); add(2); add(1); add(3); add(7); add(2); }}; System.out.println("原集合:" + list); method_3(list); } /** * 使用 LinkedHashSet 去重 * @param list */ public static void method_3(List<Integer> list) { LinkedHashSet<Integer> set = new LinkedHashSet<>(list); System.out.println("去重集合:" + set); } }
以上程序执行的结果,如下所示:
从上述代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新集合与原集合顺序保持一致的实现方法,是我们可以考虑使用的一种去重方法。