当前位置: 首页 > news >正文

贵阳手机网站建设一个完整的营销策划案范文

贵阳手机网站建设,一个完整的营销策划案范文,h5手机网站建设是什么意思,nodejs 做视频网站大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 在 Java 开发中,我们经常会面临对 List 中的对象属性去重的需求。然而,当需要根据多个属性来进行去重时,情况会稍微复杂一些。本篇…

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。

在 Java 开发中,我们经常会面临对 List 中的对象属性去重的需求。然而,当需要根据多个属性来进行去重时,情况会稍微复杂一些。本篇博客将深入探讨如何使用 Java 8 的 Stream API 来实现 List 多属性去重。

前言

在实际开发中,我们常常遇到一个业务场景:有一个 List 集合,其中包含了多个对象,需要根据对象中某个或者某些属性来进行去重操作,以确保 List 中的元素在这些属性的组合下唯一。在 Java 8 中,Stream API 为我我们提供了一些便捷的操作,使得在开发中,效率有所提升。

list 多属性去重

创建一个 RequestDto 类,包含了姓名(name)、 id(主键)、状态(status)三个属性。我们的目标是根据姓名、id和状态这三个属性来对List 进行去重操作。

RequestDto 类:

@Data
public class RequestDto {private String name; // 姓名private String id; // idprivate String status; // 状态
}

使用stream Api 进行去重,我们先创建一些对象集合:

package com.yin.demo.controller;import lombok.Data;import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;@Data
public class RequestDto {private String name;private String id;private String status;
}class demo {public static void main(String[] args) {List<RequestDto> li = new ArrayList<>();RequestDto dto1 = new RequestDto();dto1.setId("1");dto1.setName("张三");dto1.setStatus("1");li.add(dto1);RequestDto dto2 = new RequestDto();dto2.setId("1");dto2.setName("张三");dto2.setStatus("1");li.add(dto2);RequestDto dto3 = new RequestDto();dto3.setId("1");dto3.setName("李四");dto3.setStatus("1");li.add(dto3);//        ArrayList<RequestDto> result = li.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
//                () -> new TreeSet<>(Comparator.comparing(o -> o.getId() + o.getName() + o.getStatus()))), ArrayList::new));System.out.println(li);}
}

打印集合如下:

在这里插入图片描述

使用java8 Stream API进行去重

class demo {public static void main(String[] args) {List<RequestDto> li = new ArrayList<>();RequestDto dto1 = new RequestDto();dto1.setId("1");dto1.setName("张三");dto1.setStatus("1");li.add(dto1);RequestDto dto2 = new RequestDto();dto2.setId("1");dto2.setName("张三");dto2.setStatus("1");li.add(dto2);RequestDto dto3 = new RequestDto();dto3.setId("1");dto3.setName("李四");dto3.setStatus("1");li.add(dto3);// java8 Stream 流去重操作通过对属性id、name、status进行去重ArrayList<RequestDto> result = li.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getId() + o.getName() + o.getStatus()))), ArrayList::new));System.out.println(result);}
}

结果如下:可以看出已经成功去重

在这里插入图片描述

根据list中Object某个属性去重

利用 TreeSet 通过 comparing 指定某个属性来去重,例如根据name属性去重

// 核心代码如下,其实就是上面的多属性去重只用到了一个属性
// java8 Stream 流去重操作ArrayList<RequestDto> result = li.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName()))), ArrayList::new));

结果打印如下:

在这里插入图片描述

distinct对某个属性去重

根据对象的某个属性去重,对属性分组后进行 distinct 操作:返回的是去重后的属性集合

// 核心代码如下,返回的是属性
// java8 Stream 流去重操作List<String> result = li.stream().map(RequestDto::getName).distinct().collect(Collectors.toList());

打印结果如下:

在这里插入图片描述

distinct对集合去重

// 核心代码如下,返回的是对象
// java8 Stream 流去重操作List<RequestDto> result = li.stream().distinct().collect(Collectors.toList());

打印结果如下:

在这里插入图片描述

通过利用 Java 8 的 Stream API,我们可以轻松地实现List多属性去重!

http://www.mmbaike.com/news/59907.html

相关文章:

  • 铁岭开原网站建设百度手机助手下载2022新版
  • 个人养老保险怎么查询搜索引擎优化心得体会
  • 百度商桥 网站慢cms
  • 怎么查看网站有没有备案百度大盘指数
  • 网站群集约化建设seo如何优化的
  • 做微信h5的网站手机助手
  • 广州视频网站建站公司it培训机构哪个好
  • 个人新闻类网站模板免费下载推广引流
  • flash怎么做网站品牌seo推广咨询
  • 安徽省建设工程造价管理协会网站谷歌平台推广外贸
  • 拌合站建站方案石家庄最新疫情
  • 荣昌区城乡建设委员会网站关键词查询的分析网站
  • 机关网站建设建议怎样创建自己的网站
  • 外贸网站模板个人做seo怎么赚钱
  • 二级建造师最好的网站目前小说网站排名
  • 二手站网站怎做百度搜索广告怎么投放
  • 惠州做棋牌网站建设网络口碑营销
  • 小程序怎么做优惠券网站关键对话
  • 杭州比较好的代运营公司福州网站seo优化公司
  • 湖南吧如何点击优化神马关键词排名
  • 福州seo兼职seo网站推广怎么做
  • 旅游前 做攻略有什么网站好用南宁排名seo公司
  • 网站宽度 自动收缩友情链接可以帮助店铺提高浏览量
  • 给卖假性药的做网站一般要判多久seo云优化外包
  • 端州网站建设沈阳网站关键词排名
  • 茶叶网站设计网推和地推的区别
  • php网络公司网站源码微信营销的案例
  • 杭州营销型网站建设排名品牌广告策划方案
  • 网站外包价格国内搜索引擎
  • 网站建设与运营答案广告公司名称