如果list中装的是简单元素,int 类型,string类型,想要去重,并且保持在list中的顺序,最快的方式如下:
使用 LinkedHashSet,去重加有序。
使用 HashSet,只去重,但顺序任意。
public static void t1(){
List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 2, 3, 3, 4, 5, 6, 6, 7, 8));
System.out.println(list); //输出[10, 1, 1, 2, 2, 3, 3, 4, 5, 6, 6, 7, 8]
LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(list);
List<Integer> distinct = new ArrayList<>(linkedHashSet);
System.out.println(distinct); //输出[10, 1, 2, 3, 4, 5, 6, 7, 8]
}
public static void t2(){
List<String> list = new ArrayList<>(Arrays.asList("张三","张三", "李四", "李四", "tom", "tom", "mike"));
System.out.println(list); //[张三, 张三, 李四, 李四, tom, tom, mike]
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>(list);
List<String> distinct = new ArrayList<>(linkedHashSet);
System.out.println(distinct); //[张三, 李四, tom, mike]
}
参考文章来源:https://www.toymoban.com/news/detail-545274.html
Java中List集合对象去重及按属性去重的8种方法_java list对象去重_//承续缘_纪录片的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-545274.html
到了这里,关于java list 快速去重 有序 重复 LinkedHashSet HashSet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!