代码语言:javascript 复制 // 根据name,sex两个属性去重List<Person>unique=persons.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->newTreeSet<>(Comparator.comparing(o->o.getName()+";"+o.getSex())),ArrayList::new)); filter()过滤列表 代码语言:javascript 复制 List<Person>...
通过使用numbers.stream()将列表转换为一个Stream对象,并使用distinct方法去重,最后使用collect(Collectors.toList())方法将去重后的结果转换为一个列表。 综合应用 importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassListFilterDistinctExample{publicstaticvoidmain(String[]args){L...
List<String> names = new ArrayList<>();//用来临时存储person的id List<Person> personList = persons.stream().filter(// 过滤去重 v -> { boolean flag = !names.contains(v.getName()); names.add(v.getName()); return flag; } ).collect(Collectors.toList()); 二、保证添加顺序 1、方式一...
); List<Employee> lastResult =first.stream() .filter(add->second.stream() .noneMatch(all-> Objects.equals(add.getId(), all.getId())&&Objects.equals(add.getAge(), all.getAge()) ) ).collect(Collectors.toList()); lastResult.forEach(System.out::println);//过滤条件: Objects.equals(add...
将List转换为Stream使用distinct()方法去重filter()方法筛选转换回 5. 总结 通过本文的介绍,你学会了如何使用 Java 8 对 List 进行根据某个属性去重筛选。首先,我们将 List 转换为 Stream,然后使用distinct()方法去重,接着使用filter()方法筛选,最后将 Stream 转换回 List。希望这篇文章对你有所帮助!
表达式list01.stream().filter(word-> ! list02.contains(word)),要找的元素,它的特征是只存在list01中,但不存在list02中,! list02.contains(word)就是说这个元素不在list02中 三、去重 输出结果:a b c List list=Arrays.asList("a","b","c","a"); ...
filter()过滤列表 List<Person> filterList = persons.stream().filter(p -> p.getSex().equals(1)).collect(Collectors.toList()); List转Map 从一个Person对象的List集合,取出id和name组成一个map集合 Map<String, String> collect = list.stream().collect(Collectors.toMap(p -> p.getId(), p ->...
第三种: 炫酷的java8写法 List();//用来临时存储person的id ListpersonList = persons.stream().filter(// 过滤去重 v -> { boolean flag = !names.contains(v.getName()); names.add(v.getName()); return flag; } ).collect(Collectors.toList());...
1.1 对于 String 列表的去重 因为String 类已经覆写了 equals() 和 hashCode() 方法,所以可以去重成功。 复制 @TestpublicvoidlistDistinctByStreamDistinct() {// 1. 对于 String 列表去重List<String>stringList=newArrayList<String>() {{add("A");add("A");add("B");add("B");add("C"); ...
listA.stream().filter(listB::contains).collect(Collectors.toList());System.out.println("listA和listB交集 = " + intersection);// listA和listB并集(不去重)listA.addAll(listB);System.out.println("listA和listB并集 = " + listA);// listA和listB并集(去重)List<String> distinctList = listA....