首先要说明一下,Java中的Stream流是Java8中新增的一种函数式操作流程,主要用来对集合进行函数式操作,它可以对集合进行一些链式操作,比如筛选、分组、排序、去重等。
List去重,在Java8中,可以借助Stream流,具体步骤如下:
-
使用Stream.builder()来构造一个Stream.Builder对象;
-
通过builder对象调用add方法将List中的元素添加到Stream中;
-
使用distinct方法对Stream中的元素进行去重;
-
使用collect方法将Stream结果转换为List。
下面我来举两个示例进行说明:
实例1:字符串列表去重
List<String> list = Arrays.asList("apple", "banana", "pear", "banana", "orange", "pear");
List<String> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println(newList);
输出结果:[apple, banana, pear, orange]
实例2:数字列表去重
List<Integer> list = Arrays.asList(1, 2, 3, 4, 3, 2, 5);
List<Integer> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println(newList);
输出结果:[1, 2, 3, 4, 5]
总体来说,通过Stream流实现List去重非常简单方便,而且代码量也不多,这是Java8中的一大亮点,也是我们在日常编程中可以灵活运用的技巧。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中Stream流去除List重复元素的方法 - Python技术站