stream().map(Person::getId).collect(Collectors.toList()); //2.提取出list对象中的一个属性并去重 List<String> stIdList2 = stuList.stream().map(Person::getId).distinct().collect(Collectors.toList()); 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141093.html原文链接:https:...
Java8引入了Stream API,可以更加方便地进行集合操作。我们可以使用Stream的distinct()方法实现去重操作。 List<Map<String,Object>>dataList=newArrayList<>();// 假设dataList中已经包含了待去重的数据List<Map<String,Object>>result=dataList.stream().distinct().collect(Collectors.toList()); 1. 2. 3. 4....
studentList = studentList.stream().distinct().collect(Collectors.toList()); out.print("distinct去重后:"); out.println(objectMapper.writeValueAsString(studentList)); // 这里我们引入了两个静态方法,以及通过 TreeSet<> 来达到获取不同元素的效果 // 1. import static java.util.stream.Collectors.coll...
list.stream().map((str)->str.toUpperCase()).forEach(System.out::println); students1.stream().map(Student::getName).forEach(System.out::println); log.info("模拟多重流操作"); Stream<Stream<Character>> stream = list.stream().map(Jdk8StreamDemoTest::filterChaacter); stream.forEach(sm ...
stream().distinct().collect(Collectors.toList()); out.print("去重后:"); out.println(objectMapper.writeValueAsString(studentList)); } 结果如下: 去重前:[{"stuNo":"001","name":"Tom"},{"stuNo":"002","name":"Mike"},{"stuNo":"001","name":"Tom"}] 去重后:[{"stuNo":"001",...
使用Java8的Stream的distinct方法去重,我们的对象需要实现hashcode()和equals()方法。 把学生类修改后如下: View Code 测试例子: importcom.top.test.dto.Student;importjava.util.*;importjava.util.concurrent.ConcurrentHashMap;importjava.util.function.Function;importjava.util.function.Predicate;importjava.util.s...
at java.util.HashMap.merge(HashMap.java:1216) at java.util.stream.Collectors.lambda$toMap$150(Collectors.java:1320) ... 原因是toMap()方法中使用Map.merge()方法合并时,merge 不允许 value 为 null 导致的,源码如下: default V merge(K key, V value, BiFunction<? super V, ? super V, ? exte...
Stream<T>distinct(); 1. 1.1 对于 String 列表的去重 因为String 类已经覆写了 equals() 和 hashCode() 方法,所以可以去重成功。 复制 @TestpublicvoidlistDistinctByStreamDistinct() {// 1. 对于 String 列表去重List<String>stringList=newArrayList<String>() {{add("A");add("A");add("B");add(...
Map<String,String> map = sdsTests.stream().collect(Collectors.toMap(SdsTest::getName, sdsTest -> sdsTest.getAge() ==null?"0": sdsTest.getAge())); AI代码助手复制代码 使用collect(..) 构建,允许空值 Map<String,String> nmap = sdsTests.stream().collect(HashMap::new,(k, v)->k.put...
Java8的新特性——Stream常用于处理集合,它不会改变集合原有的结构,优点是Stream的代码会比用for循环处理简洁不少 本文主要说的是:获取两个List集合的交集、差集、去重 文章目录 两个集合的交集 差集 去重 list.stream()是构造方法 一、两个集合的交集 ...